php的curl如何获取一个跳转页面后的数据啊
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php的curl如何获取一个跳转页面后的数据啊相关的知识,希望对你有一定的参考价值。
php的curl如何获取一个跳转页面后的数据啊?
就比如一个页面的连接点进去后,会跳转到另一个页面,让你下载,怎么获取这个下载的数据呢?
是在curl_setopt里面设置吗?具体怎么设置啊?
比如http:??www>guokr>com?rss? //知道不支持提供连接,要审核,好久,我也没办法,把 ? 改 / ,把 > 改 . 就是原来的连接了
我提问的这个网址还是没办法取得文件,你能帮我看看吗?
追答获取文件直接上
$file=file_get_contents('http://www.guokr.com/rss/')
直接获取整个网页,保存为字符串,方便处理
$file=file_get_contents('http://www.guokr.com/rss/');
取出的值为It works!为我自己apache的首页,可是他这个页面的数据下载后用记事本打开里面的值绝对不是It works!,我之前用fopen打开也是It works!,所以才尝试使用curl,所以求大神指教,这个网址貌似IE可以直接打开,像360就是弹出下载
终于实现了,果壳用了防机器人抓取机制,判断header的user-agent来判断用户是否是通过浏览器浏览,太傻逼了,我搞我半天,以为他是通过cookie来识别用户的,因为我抓包的时候,没cookie的时候会重定向,再获取cookie了再请求.有cookie的时候不会重定向,害得我傻逼了一回,最后换了思路,原来这么简单.
如果不直接输出需要处理的话curl_setopt里的CURLOPT_RETURNTRANSFER 设置成true.
php curl 302问题
curl 访问网站回到302,跳转到登录页面,但是不跳,curl执行返回为空
有时候我们需要获取curl 302正在跳转的网址,一般我们是无法获取的,只能让他自动跳转或手动跳转,有些服务器也不支持curl自动跳转。所以我们才想方法让他返回需要跳转的网址。
网上找了很久,也没有相关的答案。
然后再想想CURL有一个可以显示HEADER的参数。
我们可以使用HEADER参数返回将要被跳转网址,通过以下CURL函数可以实现Curl POST 302自动跳转获取URL方法 参考技术A CURLOPT_FOLLOWLOCATION
以上是关于php的curl如何获取一个跳转页面后的数据啊的主要内容,如果未能解决你的问题,请参考以下文章