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); // 使用上面定義的 ua curl_setopt($oCurl, CURLOPT_USERAGENT,$user_agent); curl_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); curl_close($oCurl);
從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);