php建立curl請求的基本步驟
①初始化
curl_init()
②設定屬性:curl有很多屬性引數可設定,這些屬效能指定curl請求的各種細節
curl_setopt()
③執行並獲取結果
curl_exec()
④獲取錯誤號及錯誤資訊
curl_errno() curl_error()
⑤釋放控制代碼
curl_close()
curl實現get和post請求
①get請求
//初始化
$curl = curl_init();
//設定請求的url
curl_setopt($curl,curlopt_url,'');
//設定標頭檔案的資訊做為資料流輸出
curl_setopt($curl,curlopt_header,1);
//設定獲取的資訊以檔案流的形式返回,而不是直接直接輸出
curl_setopt($curl,curl_returntransfer,1);
//執行命令
$data = curl_exec($curl);
//關閉url請求
curl_close($curl);
//列印獲得的資料
print_r($data);
②post請求
//初始化
$curl = curl_init();
//設定請求的url
curl_setopt($curl,curlopt_url,'');
//設定標頭檔案的資訊做為資料流輸出
curl_setopt($curl,curlopt_header,1);
//設定獲取的資訊以檔案流的形式返回,而不是直接直接輸出
curl_setopt($curl,curl_returntransfer,1);
//設定post方式提交
curl_setopt($curl,curlopt_post,1);
//設定post資料
$post_data = array(
'name'=>'tom',
'pass'=>'123456',
);curl_setopt($curl,curl_postfields,$post_data);
//執行命令
$data = curl_exec($curl);
//關閉url請求
curl_close($curl);
//列印獲得的資料
print_r($data);
curl修改請求頭
define ('is_proxy', true); //是否啟用**
/* cookie檔案 */
$cookie_file = dirname ( __file__ ) . "/cookie_" . md5 ( basename ( __file__ ) ) . ".txt"; // 設定cookie檔案儲存路徑及檔名
/*模擬瀏覽器*/
$user_agent = "mozilla/4.0 (compatible; msie 6.0; windows nt 5.2; .net clr 1.1.4322)";
$proxy = "61.135.169.125";
function vlogin($url, $data)
// ip偽裝
$ip = rand(1,255).".".rand(1,255).".".rand(1,255).".".rand(1,255)."";
curl_setopt($curl, curlopt_httpheader, array('x-forwarded-for:'.$ip, 'client-ip:'.$ip)); //構造ip
curl_setopt($curl, curlopt_referer, " "); //構造來路
curl_setopt($curl, curlopt_header, 1);
curl_setopt ( $curl, curlopt_url, $url ); // 要訪問的位址
curl_setopt ( $curl, curlopt_ssl_verifypeer, 0 ); // 對認證證書**的檢查
curl_setopt ( $curl, curlopt_ssl_verifyhost, 1 ); // 從證書中檢查ssl加密演算法是否存在
curl_setopt ( $curl, curlopt_useragent, $globals ['user_agent'] ); // 模擬使用者使用的瀏覽器
@curl_setopt ( $curl, curlopt_followlocation, 1 ); // 使用自動跳轉
curl_setopt ( $curl, curlopt_autoreferer, 1 ); // 自動設定referer
curl_setopt ( $curl, curlopt_post, 1 ); // 傳送乙個常規的post請求
curl_setopt ( $curl, curlopt_postfields, $data ); // post提交的資料報
curl_setopt ( $curl, curlopt_cookiejar, $globals ['cookie_file'] ); // 存放cookie資訊的檔名稱
curl_setopt ( $curl, curlopt_cookiefile, $globals ['cookie_file'] ); // 讀取上面所儲存的cookie資訊
curl_setopt ( $curl, curlopt_timeout, 30 ); // 設定超時限制防止死迴圈
curl_setopt ( $curl, curlopt_header, 0 ); // 顯示返回的header區域內容
curl_setopt ( $curl, curlopt_returntransfer, 1 ); // 獲取的資訊以檔案流的形式返回
$tmpinfo = curl_exec ( $curl ); // 執行操作
if (curl_errno ( $curl ))
curl_close ( $curl ); // 關閉curl會話
return $tmpinfo; // 返回資料
}
$params = "username=dudu&password=****";
$result = vlogin("",$params);
echo $result;
curl支援https請求
curl_setopt($ch, curlopt_ssl_verifyhost, 0);//禁止檢查**(禁止檢查ssl證書中是否存在common_name即不驗證host)
curl_setopt($ch, curlopt_ssl_verifypeer, 0);//禁止檢查對等證書(peer's certificate)
curl超時設定
curl_setopt($curl,curlopt_timeout,30);//設定超時時間為30s
Curl的常見用法
一 基本命令curl的學習。引數 說明 示例 a設定user agent curl a chrome x用指定方法請求 curl x get i只返回請求的頭資訊 curl i d以post方法請求url,並傳送相應的引數 curl d a 1 d b 2 d c 3 curl d a 1 b 2 ...
PHP擴充套件CURL的用法
1 使用curl模擬post表單提交 建立curl控制代碼 curl setopt ch,curlopt returntransfer,true 獲得返回內容,但不需要直接輸出到頁面上 curl setopt ch,curlopt postfields,data post提交的引數寫在乙個陣列裡面 ...
curl命令常見用法
centos7服務上,一般沒有桌面系統,我們如果要使用http請求,curl是個不錯的選擇 如果要把這個網頁儲存下來,可以使用 o 引數 2,顯示頭資訊 i 引數可以顯示 http response 的頭資訊,連同網頁 一起。i 引數則只顯示 http response 的頭資訊。這個也經常用到,對...