CULR代理IP的實現,坐等神人!【急】
列印$_SERVER['REMOTE_ADDR'];擷取到真實IP
$_SERVER['HTTP_X_FORWARDED_FOR'];擷取到代理IP
實現用代理訪問網址返回網頁內容
$ip = rand(1,255).'.'.rand(1,255).'.'.rand(1,255).'.'.rand(1,255);
$headerArr[] = 'X-FORWARDED-FOR' .':' . $ip;
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, "http://ip138.com");
curl_setopt ($ch, CURLOPT_HTTPHEADER , $headerArr );
$re=curl_exec($ch);
var_dump($re);
這是我寫的代碼,沒什麼用。
$_SERVER['REMOTE_ADDR'];列印出我真實的IP
$_SERVER['HTTP_X_FORWARDED_FOR'];列印出來的是我虛擬IP
能讓程式返回內容中的IP顯示為代理IP即可 PHP CURL IP代理
分享到: 更多
------解決方案--------------------
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
------解決方案--------------------
//第一、偽造來源HTTP_REFERER
$ch = curl_init(); //初始化
curl_setopt($ch, CURLOPT_URL, http://www.example.com/); //你要訪問的頁面
curl_setopt($ch, CURLOPT_REFERER, http://www.example.com/); //偽造來源HTTP_REFERER
curl_setopt($chtml,CURLOPT_RETURNTRANSFER,1); //是否顯示內容
curl_exec($ch); //執行
curl_close($ch); //返回關閉
//第二、用代理
curl_setopt($ch,CURLOPT_PROXY,"http://www.domain.com");
//第三、偽造ip
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:8.8.8.8', 'CLIENT-IP:8.8.8.8')); //構造IP
------解決方案--------------------
也接近純白了
REMOTE_ADDR 是訪問網站的那台機器的ip 假設為P
HTTP_X_FORWARDED_FOR 是P向網站發出的ip資訊,用REMOTE_ADDR獲得向P發出請求的機器的ip
如果你的本機為P,可以偽造HTTP_X_FORWARDED_FOR,但不能偽造REMOTE_ADDR
如果你是通過代理P訪問網站,則網站收到REMOTE_ADDR為P的ip,但HTTP_X_FORWARDED_FOR你則無法偽造,因為是P發出的,不受你控制
------解決方案--------------------
$_SERVER['REMOTE_ADDR'] 來源的IP,如果是經代理訪問的,就是代理的ip
$_SERVER['HTTP_X_FORWARDED_FOR'] 訪問代理的機器的ip
------解決方案--------------------
引用:
我是想$_SERVER['REMOTE_ADDR']列印出來的IP是我設定的代理的IP,能實現嗎?求方法
見#1 或 #2,設定 CURLOPT_PROXY