本文主要和大家分享php中CURL要求標頭和回應標頭擷取方法,希望能協助到大家。
1.從CURL中擷取回應標頭
$oCurl = curl_init();// 佈建要求頭, 有時候需要,有時候不用,看請求網址是否有對應的要求$header[] = "Content-type: application/x-www-form-urlencoded";$user_agent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36";curl_setopt($oCurl, CURLOPT_URL, $sUrl);curl_setopt($oCurl, CURLOPT_HTTPHEADER,$header);// 返回 response_header, 該選項非常重要,如果不為 true, 只會獲得響應的本文curl_setopt($oCurl, CURLOPT_HEADER, true);// 是否不需要響應的本文,為了節省頻寬及時間,在只需要回應標頭的情況下可以不要本文curl_setopt($oCurl, CURLOPT_NOBODY, true);// 使用上面定義的 uacurl_setopt($oCurl, CURLOPT_USERAGENT,$user_agent);//curl_setopt($oCurl, CURLOPT_REFERER,'http://www.baidu.com');設定referercurl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );// 不用 POST 方式請求, 意思就是通過 GET 請求curl_setopt($oCurl, CURLOPT_POST, false);$sContent = curl_exec($oCurl);// 獲得響應結果裡的:頭大小$headerSize = curl_getinfo($oCurl, CURLINFO_HEADER_SIZE);// 根據頭大小去擷取頭資訊內容$header = substr($sContent, 0, $headerSize);// 獲得響應結果裡的:響應狀態代碼$httpCode = curl_getinfo($oCurl, CURLINFO_HTTP_CODE);curl_close($oCurl);
2.從curl中擷取要求標頭
$oCurl = curl_init(); curl_setopt($oCurl, CURLOPT_URL, "https://117.28.240.235:8002/ipcc/agent/login"); curl_setopt($oCurl, CURLOPT_HTTPHEADER, $header);//關閉https驗證 curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, false);//至關重要,CURLINFO_HEADER_OUT選項可以拿到要求標頭資訊curl_setopt($oCurl, CURLINFO_HEADER_OUT, TRUE);curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1);curl_setopt($oCurl, CURLOPT_POST, 1);curl_setopt($oCurl, CURLOPT_POSTFIELDS, $bodystr);$sContent = curl_exec($oCurl);//通過curl_getinfo()可以得到要求標頭的資訊$a=curl_getinfo($oCurl);