色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

php httpclient cookie

在實(shí)現(xiàn)HTTP請(qǐng)求過(guò)程中, cookie的使用是至關(guān)重要的,這對(duì)于PHP HTTP客戶(hù)端也同樣適用。

一個(gè)典型的例子是,我們需要通過(guò)HTTP客戶(hù)端模擬一個(gè)登錄過(guò)程,這時(shí)就需要把客戶(hù)端獲取的cookie保存到本地,并在隨后的請(qǐng)求中把它發(fā)送到服務(wù)器。

$url = 'http://www.example.com/login.php'
$post_data = array('username' =>'admin', 'password' =>'admin123');
$cookie_file = '/var/tmp/cookie.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$result = curl_exec($ch);
curl_close($ch);

從上述代碼可以看出,我們需要自行維護(hù)一個(gè)cookie文件,來(lái)實(shí)現(xiàn)HTTP請(qǐng)求中對(duì)于cookie的存儲(chǔ)與發(fā)送。

如果我們需要從已有的cookie文件中讀取cookie進(jìn)行請(qǐng)求,可以使用以下代碼:

$cookie_file = '/var/tmp/cookie.txt';
$url = 'http://www.example.com/profile.php';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);//發(fā)送cookie文件
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);

這里我們只指定了COOKIEFILE,沒(méi)有指定COOKIEJAR,所以在請(qǐng)求過(guò)程中只會(huì)發(fā)送cookie,而不會(huì)保存cookie到本地文件。

我們同樣可以手動(dòng)指定cookie,簡(jiǎn)單地使用以下代碼:

$url = 'http://www.example.com/process.php';  
$cookie = 'SomeCookie=12345';  
$header = array('Content-Type: application/x-www-form-urlencoded', 'Cookie:' . $cookie);
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
curl_setopt($ch, CURLOPT_URL, $url);  
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);  
$result = curl_exec($ch);
curl_close($ch);

如上所述,我們只需要在請(qǐng)求中手動(dòng)添加Cookie字段即可,這時(shí)我們不再需要使用cookie文件來(lái)存儲(chǔ)和發(fā)送cookie了。

無(wú)論是哪種方式,對(duì)于Cookie的操作都是非常重要的。通過(guò)實(shí)現(xiàn)對(duì)Cookie的維護(hù),我們能夠有效地進(jìn)行HTTP請(qǐng)求處理,并且在一定程度上保證數(shù)據(jù)的安全性。