導航:首頁 > 編程語言 > phpcurl頭信息

phpcurl頭信息

發布時間:2022-09-10 06:18:11

⑴ 在 php curl返回

給你個我寫的curl方法。

/**
*curl模擬提交
*@param string $url 網址
*@param array/string $opt 提交參數
*@param string &$header 取回的頭信息
*@param string $redirect 是否重定向
*@param boolean $ssl 驗證https證書
*@return [type] 返回信息
*/
functioncurl($url,$opt='GET',&$header=null,$redirect=true,$ssl=false){

//初始化
$ch=curl_init($url);

//配置設置
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,$ssl);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,$ssl);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,$redirect);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); #返回結果
curl_setopt($ch,CURLOPT_HEADER,true); #顯示協議頭

if(is_array($opt)){

//轉小寫
$opt=array_change_key_case($opt,CASE_LOWER);

//POST
if(isset($opt['type'])&&strtoupper($opt['type'])=='POST'){
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,(isset($opt['data'])?$opt['data']:''));
}

//User-Agent
if(array_key_exists('ua',$opt))
curl_setopt($ch,CURLOPT_USERAGENT,$opt['ua']);

//Header
if(array_key_exists('header',$opt)){
curl_setopt($ch,CURLOPT_HTTPHEADER,(array)$opt['header']);
}

//Cookie
if(array_key_exists('cookie',$opt))
curl_setopt($ch,CURLOPT_COOKIE,$opt['cookie']);

//Referer
if(array_key_exists('referer',$opt))
curl_setopt($ch,CURLOPT_REFERER,$opt['referer']);

}else{

//僅POST
if(strtoupper((string)$opt)=='POST')
curl_setopt($ch,CURLOPT_POST,true);

}

$result=curl_exec($ch);

if(curl_errno($ch)){
$result=curl_error($ch);
}else{

//獲取頭長度
$length=curl_getinfo($ch,CURLINFO_HEADER_SIZE);

//取出頭信息
$header=substr($result,0,$length);

//去掉頭信息
$result=substr($result,$length);

}

//釋放
curl_close($ch);

return$result;

}

⑵ 如何在php中獲取curl請求的請求頭信息及相應頭信息

oCurl=curl_init();

//設置請求頭

$header[]="Content-type:application/x-www-form-urlencoded";

$user_agent="Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,likeGecko)Chrome/33.0.1750.146Safari/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_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);

⑶ php curl中CURLOPT_HTTPHEADER 這個參數的含義

php curl中CURLOPT_HTTPHEADER 這個參數的含義是:CURLOPT_HTTPHEADER 一個用來設置HTTP頭欄位的數組。Content-Type 表示後面的文檔屬於什麼MIME類型。charset表示瀏覽器可接受的字元集。

HTTP頭Servlet默認為text/plain,但通常需要顯式地指定為text/html。由於經常要設置Content-Type,因此HttpServletResponse提供了一個專用的方法setContentType。

HTTP請求頭的部分類型:

1、Accept:瀏覽器可接受的MIME類型。

2、Accept-Charset:瀏覽器可接受的字元集。

3、Accept-Encoding:瀏覽器能夠進行解碼的數據編碼方式,比如gzip。Servlet能夠向支持gzip的瀏覽器返回經gzip編碼的HTML頁面。許多情形下這可以減少5到10倍的下載時間。

4、Connection:表示是否需要持久連接。如果Servlet看到這里的值為「Keep-Alive」,或者看到請求使用的是HTTP 1.1(HTTP 1.1默認進行持久連接),它就可以利用持久連接的優點,當頁麵包含多個元素時(例如Applet,圖片),顯著地減少下載所需要的時間。

5、Content-Length:表示請求消息正文的長度。

6、Cookie:這是最重要的請求頭信息之一。

(3)phpcurl頭信息擴展閱讀:

PHP中的CURL函數庫(部分):

1、curl_setopt_array — 為cURL傳輸會話批量設置選項

2、curl_setopt — 設置一個cURL傳輸選項

3、curl_close — 關閉一個cURL會話

4、curl__handle — 復制一個cURL句柄和它的所有選項

5、curl_errno — 返回最後一次的錯誤號

6、curl_error — 返回一個保護當前會話最近一次錯誤的字元串

7、curl_escape — 使用 URL 編碼給定的字元串

在實際的使用當中,使用得最多的函數是curl_setopt — 設置一個cURL傳輸選項說明:bool curl_setopt ( resource $ch , int $option , mixed $value )其中,ch 由 curl_init() 返回的 cURL 句柄。option 表示的是需要設置的CURLOPT_XXX選項。

option的可選參數:

1、CURLOPT_BUFFERSIZE 每次獲取的數據中讀入緩存的大小,但是不保證這個值每次都會被填滿。在cURL 7.10中被加入。

2、CURLOPT_CLOSEPOLICY 不是CURLCLOSEPOLICY_LEAST_RECENTLY_USED就是CURLCLOSEPOLICY_OLDEST,還存在另外三個CURLCLOSEPOLICY_,但是cURL暫時還不支持。

3、CURLOPT_CONNECTTIMEOUT 在發起連接前等待的時間,如果設置為0,則無限等待。

⑷ php 如何查看使用curl模擬的信息

哥們。我認為是做不到的。。咱們做個假設

firebug能抓到原始信息是因為http請求是由瀏覽器發出的,瀏覽器是在本地,你當然能抓到包了,而curl是有apache服務端的php發出的,一個是在服務端一個是在客戶端,怎麼抓?

再說個簡單的例子就是你的PHP程序放在 機房,你瀏覽器在你家,當然抓不到伺服器發出去的包,除非你是黑客~~
最簡單的辦法就是把返回值echo

⑸ 如何在php中獲取curl請求的請求頭信息及相應頭信息

<?php
$url='http://demo.zjmainstay.cn';
$ch=curl_init($url);
curl_setopt($ch,CURLOPT_HEADER,true);//返回頭信息
curl_setopt($ch,CURLOPT_NOBODY,true);//不返回內容
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//返回數據不直接輸出
$content=curl_exec($ch);//執行並存儲結果
curl_close($ch);
echo$content;

更多關於phpcURL的內容,請參考我的博客《PHPcURL應用》
http://www.zjmainstay.cn/php-curl

⑹ 你好,求教個php curl獲取header和body的問題。我想一次分別獲取header里的session和顯示圖片內容。

session是不可以獲取的,只可以得到COOKIE是在HEADER里

header頭和內容之間有一個空行分隔,你可以依此把此把頭信息截掉,只把內容保存成圖片文件

⑺ curl命令能把HTTP頭信息列印出來么

不知道你是不是要這個:curl-Ihttp://www.zjmainstay.cn

可以使用mancurl命令查看curl的用法。

phpcurl的話可以參考我的博客《PHPcURL實現模擬登錄與採集使用方法詳解》
http://www.zjmainstay.cn/php-curl

⑻ php curl提交頭部信息錯誤

CURLOPT_HTTPHEADER:

一個用來設置HTTP頭欄位的數組。使用如下的形式的數組進行設置:array('Content-type: text/plain', 'Content-length: 100')

<?php
functiongetwebcontent($url){
$ch=curl_init();
$data=array(
'ap'=>'2',
'c1'=>'4',
'c2'=>'4',
'g_w'=>'0100',
'dd'=>'0',
'h'=>'8',
'iasign'=>'bedvkt2gyd9vkgrx',
'pp'=>'200',
);
$headers['X-rvt']='';
$headers['Referer']='http://www.benmi.com/IA.html?c1=4&c2=4&g_w=0100&h=1';
$headers['Accept-Language']='zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3';
$headers['Cookie']='iasign=bedvkt2gyd9vkgrx;';
$timeout=20;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_VERBOSE,0);
curl_setopt($ch,CURLOPT_HEADER,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,0);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,0);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);
$contents=curl_exec($ch);
curl_close($ch);
return$contents;
}
$c=getwebcontent('http://www.benmi.com/Ashx/IAPageAjax.ashx');
print($c);

⑼ php get請求中的請求頭應該如何設置

獲取請求頭信息,可以在curl_exec函數執行前,添加代碼curl_setopt($ch,CURLINFO_HEADER_OUT,true);在curl_exec函數執行後,通過 curl_getinfo($ch,CURLINFO_HEADER_OUT) 來獲取curl執行請求的請求數據。
獲取響應頭信息,可以在curl_exec函數執行前,添加代碼 curl_setopt($ch, CURLOPT_HEADER, true);curl_setopt($ch, CURLOPT_NOBODY,true); 之後 通過curl_exec函數來獲取響應頭信息。獲取設置 curl_setopt($ch, CURLOPT_NOBODY,false);然後對curl_exec獲取的值通過\r\n\r\n進行分割截取第一部分即為響應頭信息。

閱讀全文

與phpcurl頭信息相關的資料

熱點內容
美食博主用什麼app拍視頻 瀏覽:812
ipone手機如何加密微信 瀏覽:354
自來水加密閥閥帽 瀏覽:431
華為交換機dhcp配置命令 瀏覽:315
androidbitmap縮小 瀏覽:271
單片機串口控制燈 瀏覽:84
大訊雲伺服器安裝視頻 瀏覽:784
華為演算法領先世界 瀏覽:654
linux路由重啟 瀏覽:566
php的模板編程 瀏覽:321
編譯器原理與實現書 瀏覽:709
dos選擇命令 瀏覽:18
apm固件編譯到單片機 瀏覽:121
聯通深藍卡都包含什麼app 瀏覽:265
如何判斷網路伺服器正常 瀏覽:652
路由器搭橋遠端伺服器地址是什麼 瀏覽:518
編譯動態庫時會連接依賴庫嗎 瀏覽:710
淘寶手機加密是隨機的嗎 瀏覽:675
解壓包子怎麼裝飾 瀏覽:588
四個數湊24演算法 瀏覽:679