php - 如何在 localhost 上提交我的代理和名称
问题描述
如果我提交表单,我想register.php
获取我提交的代理和名称client.php
如果我不使用action='register.php'
,那么它会打印我提交的代理但不打印名称。
但是,如果我使用action='register.php'
将表单发布到register.php
然后它打印我的本地主机IP: 127.0.0.1
而不是我提交的代理。
我不知道为什么当我register.php
在action=''
标签中使用 curl 请求时没有提交我的代理。
if(!isset($_GET['name'])){
echo "<form class='' method='get' action='register.php'>
<input id='cat' type='text' name='name' maximum='10' placeholder='Enter Name' autocomplete='off' required></input>
<input id='cat' type='text' name='proxy' placeholder='Enter Your Proxy ' autocomplete='off'></input>
<input class='button' type='submit' value='Submit'></input>
</form>";
}
if(isset($_GET['name'])){
$number = $_GET['name'];
$proxy = $_GET['proxy'];
$headers['CLIENT-IP'] = $proxy;
$headers['X-FORWARDED-FOR'] = $proxy;
$headerArr = array();
Foreach( $headers as $n => $v ) {
$headerArr[] = $n .':' . $v;
}
Ob_start();
$ch = curl_init();
Curl_setopt ($ch, CURLOPT_URL, "http://localhost/register.php");
Curl_setopt ($ch, CURLOPT_HTTPHEADER , $headerArr ); //Structure IP
Curl_setopt( $ch, CURLOPT_HEADER, 0);
#Curl_setopt( $ch, CURLOPT_POST, 1);
#Curl_setopt( $ch, CURLOPT_POSTFIELDS, $data);
Curl_setopt( $ch, CURLOPT_VERBOSE, true);
Curl_exec($ch);
Curl_close ($ch);
$out = ob_get_contents();
Ob_clean();
Echo $out;
}
这是我的 register.php
我从 client.php 提交的名称和代理应该打印在这里。
Function GetIP(){
if(!empty($_SERVER["HTTP_CLIENT_IP"]))
$cip = $_SERVER["HTTP_CLIENT_IP"];
else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
$cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if(!empty($_SERVER["REMOTE_ADDR"]))
$cip = $_SERVER["REMOTE_ADDR"];
else
$cip = "Unable to get!";
return $cip;
}
echo"IP: ". GetIP (). "
";
$name = $_GET['name'];
echo $name
结果是
Ip: 127.0.0.1 \\ here I want to print the proxy I have submitted
Rohan
解决方案
推荐阅读
- asp.net-core - 如何指定仅在开发中托管的端口?
- python - 使用 url_path 中的参数测试 DRF GenericViewSet
- swiftui - SwiftUI:使用切换问题更改应用程序主题
- html - 滚动时更改所选按钮和图像
- javascript - 多种动态形式,e.preventDefault(); 未正确触发
- javascript - 有人知道我如何将 Mappa Js 移植到 React Native 吗?
- linux - 两个树莓派之间的 gstreamer。无法解码流
- java - JOptionPane 未将数据存储在数组中或无法正确迭代
- javascript - Replit database.get 在与参数一起使用时返回 null,但在与参数的值一起使用时不返回?
- java - 在 commons-codec 升级后 Base32 没有抛出异常