這兩天做的工作使用到了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