本文目錄一覽:
- 1、多IP伺服器,用php里的curl如何指定ip出口
- 2、如何在curl方式下url請求域名使用指定ip地址來訪問某個伺服器
- 3、多IP 伺服器,用 php 里的 curl 如何指定 ip 出口
- 4、curl命令在PHP中怎麼用
多IP伺服器,用php里的curl如何指定ip出口
Swoole可以廣泛應用於互聯網、移動通信、企業軟體、網路遊戲、物聯網、車聯網、智能家庭等領域。 使用PHP+Swoole作為網路通信框架,可以使企業IT研發團隊的效率大大提升,更加專註於開發創新產品。
Swoole底層內置了非同步非阻塞、多線程的網路IO伺服器。PHP程序員僅需處理事件回調即可,無需關心底層。與Nginx/Tornado/Node.js等全非同步的框架不同,Swoole既支持全非同步,也支持同步。
如何在curl方式下url請求域名使用指定ip地址來訪問某個伺服器
我們知道一般使用curl獲取url信息的代碼如下
?php
$url=””;
$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=”;
$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應該會的吧。
curl命令在PHP中怎麼用
這是我項目中一直在用的一個方法
?php
function curl($url,$params = array(),$header = array(),$timeout = 180){
if(empty($url)) return $url;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,$url);//請求url地址
curl_setopt($curl, CURLOPT_HTTPHEADER , $header ); //構造IP
if(!empty($params) count($params) 0){
curl_setopt($curl, CURLOPT_POST, true);
//Request Payload格式數據
if(isset($params[‘is_json’]) $params[‘is_json’] === true){
unset($params[‘is_json’]);
$params = json_encode($params);
}else{
$params = http_build_query($params);
}
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
}
//curl_setopt($curl, CURLOPT_HEADER, true);//是否返迴響應頭信息
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);//是否將結果返回
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);//是否重定向
//curl_setopt($curl, CURLOPT_USERAGENT, ‘Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36’);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 只信任CA頒布的證書
//curl_setopt($curl, CURLOPT_CAINFO, $cacert); // CA根證書(用來驗證的網站證書是否是CA頒布)
//curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 檢查證書中是否設置域名,並且是否與提供的主機名匹配
// 從證書中檢查SSL加密演算法是否存在
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
//curl_setopt($curl, CURLOPT_HTTPHEADER, array(“Expect: “));
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $timeout);//用來告訴PHP腳本在成功連接伺服器前等待多久(連接成功之後就會開始緩衝輸出),這個參數是為了應對目標伺服器的過載,下線,或者崩潰等可能狀況;
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);//用來告訴成功PHP腳本,從伺服器接收緩衝完成前需要等待多長時間。如果目標是個巨大的文件,生成內容速度過慢或者鏈路速度過慢,這個參數就會很有用。
// 自動設置Referer
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
//curl_setopt($curl, CURLOPT_COOKIEJAR, “D:phpStudyWWWcjcooBE66.tmp”);// //寫入cookie信息
//setcookie(‘cookie_jar’, $cookie_jar); //保存cookie路徑
$data = curl_exec($curl); //執行
curl_close($curl);
return $data;
}
?
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/153495.html