>백엔드 개발 >PHP 튜토리얼 >curl 如何创建cookie抓取网页信息,以下例子,怎么都无法抓取,求代码?

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

WBOY
WBOY원래의
2016-06-06 20:43:191106검색

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登录页的效果。

<code>  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;
</code>

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

谁懂得的给个答案啊~!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.