《PHP學(xué)習(xí):PHP讀取CURL模擬登錄時生成Cookie文件的方法》要點:
本文介紹了PHP學(xué)習(xí):PHP讀取CURL模擬登錄時生成Cookie文件的方法,希望對您有用。如果有疑問,可以聯(lián)系我們。
本文實例講述了PHP讀取CURL模擬登錄時生成Cookie文件的辦法.分享給大家供大家參考.具體實現(xiàn)辦法如下:PHP應(yīng)用
在使用PHP中的CURL模擬登錄時會保存一個Cookie文件,例如下面的代碼PHP應(yīng)用
代碼如下:
$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文件,拜訪需要拜訪的頁面?
$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)頁內(nèi)容?
print_r($contents);
在temp文件夾下保存一個cookie前綴的臨時文件,例如:coo3A98.tmp文件
打開這個文件得到如下代碼:PHP應(yīng)用
PHP應(yīng)用
要使用php來格式化該文件,使用以下代碼就能實現(xiàn)PHP應(yīng)用
代碼如下:
<?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>';?
?>
運行之后就如下圖所示,已經(jīng)被寫入到table當(dāng)中PHP應(yīng)用
PHP應(yīng)用
大功告成,如果只讀取其中字段可自行修改即可.PHP應(yīng)用
希望本文所述對大家的PHP程序設(shè)計有所贊助.PHP應(yīng)用
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP學(xué)習(xí):PHP讀取CURL模擬登錄時生成Cookie文件的方法》等實戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/14232.html