CURL 模拟登陆并获取数据

1、CURL模拟登陆的流程和步骤

分析登陆字,登录后保留COOKIE状,读取COOKIE并跳转到相关页,抓取数。
2、tempnam 创建一个临时文件

php内部函数 tempnam() 会快速创建一个具有唯一文件名的临时文件。

若成功则会返回新的临时文件名,若失败则返回false.
3、使用CURL模拟登陆到PHP100论坛
<?php


$cookie_file    =    tempnam('./temp','cookie');
$login_url        =    'http://bbs.php100.com/login.php';
$post_fields    =    'cktime=31536000&step=2&pwuser=php100-88&pwpwd=111111';

$ch = curl_init($login_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 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);


$url='http://bbs.php100.com/userpay.php';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
$contents = curl_exec($ch);
preg_match("/<li>?????(.*)<\/li>/",$contents,$arr);
echo $arr[1];
curl_close($ch);
?>

你可能感兴趣的:(PHP,bbs)