這兩天做的工作使用到了curl
當要請求的url和自己不在一台server上面,不能直接存取
這種情況下使用curl是最好不過了,類比post請求做一些事,簡單方便
下面記錄一下在使用過程中的積累
| 代碼如下 |
複製代碼 |
/* 遠程post請求 */ function getRemoteUrl($get_url) { $curl = curl_init();#啟動一個CURL會話 curl_setopt($curl, CURLOPT_URL, $get_url);#設定一個Url curl_setopt($curl, CURLOPT_POST, true);#發送一個常規的Post請求 curl_setopt($curl, CURLOPT_TIMEOUT, 30);#設定逾時限制防止死迴圈 curl_setopt($curl, CURLOPT_HEADER, 0);#顯示返回的Header地區內容 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);#擷取的資訊以檔案流的形式返回 $return = curl_exec($curl); #執行操作 if (curl_errno($curl)) { return false; } curl_close($curl); #關閉CURL會話 return $return; } function getCurlData($url) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_TIMEOUT, 10); $result = curl_exec($curl); curl_close($curl); return $result; } |
總結一下使用curl方法:
先初始化curl
使用curl_setopt設定目標url,和其他選項
curl_exec,執行curl
執行後,關閉curl
最後一步就是輸出
curl()效率挺高的,支援多線程,不過需要開啟下curl擴充。下面是curl擴充開啟的步驟:
1、將PHP檔案夾下的三個檔案php_curl.dll,libeay32.dll,ssleay32.dll複製到system32下;
2、將php.ini(c:WINDOWS目錄下)中的;extension=php_curl.dll中的分號去掉;
3、重啟apache或者IIS