【转】php CURL模仿会见网页(2)

下列的选项要求一个文件描写(通过利用fopen()函数得到):
 
*CURLOPT_FILE: 这个文件将是你安排传送的输出文件,默认是STDOUT.
*CURLOPT_INFILE: 这个文件是你传送过来的输入文件。
*CURLOPT_WRITEHEADER: 这个文件写有你输出的头部门。
*CURLOPT_STDERR: 这个文件写有错误而不是stderr。


用来获取需要登录的页面的例子,当前做法是每次或者都登录一次,有需要的人再做改造了:)

例子:
$cookie_jar = tempnam('./tmp','cookie');

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://******');
curl_setopt($ch, CURLOPT_POST, 1);

$request = 'email_address=&password=&action=';
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);

//把返返来的cookie信息生存在$cookie_jar文件中
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);

//设定返回的数据是否自动显示
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

//设定是否显示头信息
curl_setopt($ch, CURLOPT_HEADER, false);

//设定是否输出页面内容
curl_setopt($ch, CURLOPT_NOBODY, false);

curl_exec($ch);

curl_close($ch);


//get data after login
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, 'http://*****');
curl_setopt($ch2, CURLOPT_HEADER, false);
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch2, CURLOPT_COOKIEFILE, $cookie_jar);

$orders = curl_exec($ch2);
echo '<pre>';
echo strip_tags($orders);
echo '</pre>';
curl_close($ch2);

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/7774.html