欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP讀取CURL模擬登錄時(shí)生成Cookie文件的方法

 更新時(shí)間:2014年11月04日 15:45:23   投稿:shichen2014  
這篇文章主要介紹了PHP讀取CURL模擬登錄時(shí)生成Cookie文件的方法,包括了curl的使用及cookie的操作,非常具有實(shí)用價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了PHP讀取CURL模擬登錄時(shí)生成Cookie文件的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:

在使用PHP中的CURL模擬登錄時(shí)會(huì)保存一個(gè)Cookie文件,例如下面的代碼

復(fù)制代碼 代碼如下:
$login_url = 'XXX'; 
 
$post_fields['email'] = 'XXXX'; 
$post_fields['password'] = 'XXXX'; 
$post_fields['origURL'] = 'XXX'; 
$post_fields['domain'] = 'xxx.com'; 
//cookie文件存放在網(wǎng)站根目錄的temp文件夾下 
$cookie_file = tempnam('./temp','cookie'); 
 
$ch = curl_init($login_url); 
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5'); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_MAXREDIRS, 1); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_AUTOREFERER, 1); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields); 
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); 
curl_exec($ch); 
curl_close($ch); 
 
//帶上cookie文件,訪問(wèn)需要訪問(wèn)的頁(yè)面 
$send_url='xxx.com'; 
$ch = curl_init($send_url); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); 
$contents = curl_exec($ch); 
curl_close($ch); 
 
//清理cookie文件 
unlink($cookie_file); 
 
//輸出網(wǎng)頁(yè)內(nèi)容 
print_r($contents);

在temp文件夾下保存一個(gè)cookie前綴的臨時(shí)文件,例如:coo3A98.tmp文件
打開(kāi)這個(gè)文件得到如下代碼:

要使用php來(lái)格式化該文件,使用以下代碼就能實(shí)現(xiàn)

復(fù)制代碼 代碼如下:
<?php  
$cookie_folder = dirname(__FILE__)."/temp"; 
$lines = file($cookie_folder.'/coo3A98.tmp'); 
 
$trows = ''; 
 
foreach($lines as $line) { 
    if($line[0] != '#' && substr_count($line, "\t") == 6) { 
        $tokens = explode("\t", $line); 
        $tokens = array_map('trim', $tokens); 
        $tokens[4] = date('Y-m-d h:i:s', $tokens[4]); 
        $trows .= '<tr><td>' . implode('</td><td>', $tokens) . '</td></tr>' . PHP_EOL; 
    } 

echo '<table>'.PHP_EOL.'<tbody>'.PHP_EOL.$trows.'</tbody>'.PHP_EOL.'</table>'; 
?>

運(yùn)行之后就如下圖所示,已經(jīng)被寫入到table當(dāng)中

大功告成,如果只讀取其中字段可自行修改即可。

希望本文所述對(duì)大家的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論