curl伺服器ip
❶ php curl 請求的ip是服務端還是客戶端
說明不詳細,curl請求是服務端ip,請求時候也會發出自己ip
❷ 我的ip用curl請求網站的時候報nginx 403錯誤,訪問其它網站可以,其它ip也可以訪問,就我不可以
從你的描述上看,是網站管理員限制了你訪問的許可權,你沒有辦法處理,需要到網站機器上設置WEB伺服器。
❸ curl怎麼帶client-ip
最近在做一些抓取其它網站數據的工作,當然別人不會乖乖免費給你抓數據的,有各種防抓取的方法。不過道高一尺,魔高一丈,通過研究都是有漏洞可以鑽的。下面的例子都是用PHP寫的,不會用php來curl的孩紙先學習一下這塊再往下看,可以參考這篇文章:http://blog.csdn.net/linglongwunv/article/details/8020845
下面言歸正傳,先說一種常見的方式,偽造來源IP,這也是好多刷票朋友常用的方法:
1、簡單一點的可以在header偽造X-FORWARDED-FOR,並偽造referer,代碼如下:
[php] view plain
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:111.222.333.4', 'CLIENT-IP:111.222.333.4'));
curl_setopt($ch, CURLOPT_REFERER, "http://www.test.com");
2、上面的方法大多數能糊弄過去,但也有抓到了真實IP的。就使用代理,麻煩在於你有一個有效的代理ip和埠號,有的還需要用戶名密碼,代碼如下:
[php] view plain
curl_setopt($ch, CURLOPT_PROXY, "http://111.222.333.4:110");
另外還有一種情況,就是用瀏覽器可以訪問,用curl就是不行,發現對方檢查了useragent,如果沒有就認為是抓取等非法來源,那麼我們就自己在header加上useragent,代碼如下:
[php] view plain
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11");
啦啦啦,完工~
❹ 如何設置代理IP並檢測是否成功
可以通過訪問訪問網路網頁,通過返回的網頁內容進行判斷。有時候也會有bug,即代理無效,但是也會返回一個網頁,但不是網路,而且內容大於5000。
通過訪問通過訪問返回的ip來實現測試。如果返回的不是代理池的IP,那麼很遺憾,這個代理IP是無效的,如果返回到代理池的IP,那就是有效代理。
通過php中curl函數設置代理,再訪問網路或者其他能訪問到的網站,通過返回的狀態碼是否等於200來判斷代理IP是不是可以正常使用的。
企鵝驗證代理IP打開企鵝進入登陸頁面,設置網路類型「http代理」或者「sock5代理」,輸入IP地址和埠、「用戶名」和「密碼」,如果是「終端IP授權」則不用輸入。接著可以開始測試,如果是提示「連接代理伺服器成功」則說明代理IP是有效的,反之,提示「連接代理伺服器失敗」則是無效的代理IP。
❺ linux伺服器上,其他機器通過curl+IP能夠訪問,但curl+域名訪問超時
用域名訪問的時候捏,首先伺服器要去找到域名對應的IP,從訪問來講,最後還是用IP訪問的,超時的話應該DNS解析這個域名的時候超時了,要不就是你的DNS有問題,你換一個DNS試試,要不就是你的這個域名不對,你試下直接解析
nslookup .com
上面命令可以直接將解析的Ip返回的,
nslookup .com 180.76.76.76
這條後面是指定用哪個DNS解析,如果不加就是用本機指定的DNs解析的
❻ curl請求公網IP或域名會卡死,請求伺服器內網IP不會
504-網關超時,說明伺服器作為網關或代理,未及時從上游伺服器接收請求。
你請求的公網IP是同一個嗎?一直在用curl進行請求嗎?
內網IP在你的網路環境內部,不需要經過網關出去,所以肯定不會出現網關超時的錯誤。
❼ 如何在curl方式下url請求域名使用指定ip地址來訪問某個伺服器
我們知道一般使用curl獲取url信息的代碼如下
<?php
$url="http://bbs.hefei.cc";
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_TIMEOUT,5);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$content=curl_exec($ch);
echo $content;
?>
如果想訪問202.102.94.182這個ip伺服器的內容了,可以將請求url中域名部分改用ip方式,並加上Host請求頭信息。具體示例代碼如下:
<?php
$url='http://202.102.94.182/';
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_TIMEOUT,5);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HTTPHEADER,array("Host: bbs.hefei.cc"));
$content=curl_exec($ch);
echo $content;
?>
❽ 多IP 伺服器,用 php 里的 curl 如何指定 ip 出口
我來詳細說下吧 所以你描述的有點繞!我按我 理解回答你吧
如果你是網站,那根據你不同的域名解析到不同的IP上就可以,IIS里網站標示也設置好!
那樣就可以顯示你不同的網站所指向IP也不同。
如果你是想訪問別人的站顯示不同的IP,那就有一個笨方法了,你N個IP 只配一個IP使用。
如果你想顯示另外一個IP的時候 你自己手動換IP,不就結了,手動換IP應該會的吧。
❾ 多IP伺服器,用php里的curl如何指定ip出口
Swoole可以廣泛應用於互聯網、移動通信、企業軟體、網路游戲、物聯網、車聯網、智能家庭等領域。 使用PHP+Swoole作為網路通信框架,可以使企業IT研發團隊的效率大大提升,更加專注於開發創新產品。
Swoole底層內置了非同步非阻塞、多線程的網路IO伺服器。PHP程序員僅需處理事件回調即可,無需關心底層。與Nginx/Tornado/Node.js等全非同步的框架不同,Swoole既支持全非同步,也支持同步。