欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

curl 如何创建cookie抓取网页信息,以下例子,怎么都无法抓取,求代码?

程序员文章站 2024-01-11 15:37:10
...
http://www.postdanmark.dk/en/tracktrace/Pages/home.aspx 快递公司网址

运单号:RC376981536HK
通过输入快递公司网址,然后输入运单号查询快递跟踪信息,跳转到另外一个就是快递跟踪信息 的页面,我就是想抓取那个页面的快递信息,怎么都无法获取,好艰难的说,谁能帮我弄一个代码实例出来给我瞧瞧,听说是要创建cookie!!!!新手才学一个月,这个是师傅给出的任务!!!

回复内容:

http://www.postdanmark.dk/en/tracktrace/Pages/home.aspx 快递公司网址

运单号:RC376981536HK
通过输入快递公司网址,然后输入运单号查询快递跟踪信息,跳转到另外一个就是快递跟踪信息 的页面,我就是想抓取那个页面的快递信息,怎么都无法获取,好艰难的说,谁能帮我弄一个代码实例出来给我瞧瞧,听说是要创建cookie!!!!新手才学一个月,这个是师傅给出的任务!!!

你是使用c++的么? 如果是的话,请参考官方的例子:
http://curl.haxx.se/libcurl/c/cookie_interface.html
如果不是的话,请直接到 curl.haxx.se 中查找对应语言的设置方式

如果你是指 curl 一个地址后,继续跟踪302跳转后的页面话, 命令行可以使用 -L参数,php 里可以给curl 加上 curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);

楼主是要把登录的cookie带过去,然后抓去网页内容吗? 这段示例代码是用登录完的cookie访问sf登录页的效果。

  header('Content-Type="text/html";charset="UTF-8"');
 $login_url = 'http://segmentfault.com/user/login';

 $ch = curl_init($login_url);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
 curl_setopt($ch, CURLOPT_COOKIE, "sfsess=" . rawurlencode('your sf.gg login cookie')); 

 $test = curl_exec($ch); 
 curl_close($ch);
 echo $test;

楼主可以把sfsess替换成自己的 cookie试试看效果。多个cookie分号分隔就行了。
CURLOPT_COOKIEFILE的用法: curl_setopt($ch, CURLOPT_COOKIEFILE, "/yourpath/cookie.txt");cookie.txt内容格式跟http头一样:Set-Cookie:sfsess=*********

谁懂得的给个答案啊~!

相关标签: php