首页 > 后端开发 > php教程 > 有没有办法获得file_get_contents返回页面的url

有没有办法获得file_get_contents返回页面的url

WBOY
发布: 2016-06-23 13:51:24
原创
1169 人浏览过

用file_get_contents带cookie访问某远程页面,但是该页面跳转到另一页面,现在问题是能否获得跳转后页面的url?我知道用get_headers是可以获得cookie等头信息的,但是如何获得url呢?


回复讨论(解决方案)

get_headers 也能获得跳转的URL吧

file_get_contents 会根据 http 头的指示自动跳转到新的目标 url
如果目标 url 有跳转,则在 get_headers 的结果中有 Location 项。
且 get_headers 也会跟踪到最终目标,于是最后的 Location 项的值就是你要的了

$a = get_headers($url, 1);if(isset($a['Location'])) {  $url = is_array($a['Location']) ? array_pop($a['Location']) : $a['Location'];}
登录后复制
登录后复制

你都知道原始链接,直接在浏览器打开,不就知道它跳转到哪个链接了嘛?

file_get_contents 会根据 http 头的指示自动跳转到新的目标 url
如果目标 url 有跳转,则在 get_headers 的结果中有 Location 项。
且 get_headers 也会跟踪到最终目标,于是最后的 Location 项的值就是你要的了

$a = get_headers($url, 1);if(isset($a['Location'])) {  $url = is_array($a['Location']) ? array_pop($a['Location']) : $a['Location'];}
登录后复制
登录后复制



可是头信息里没有location项啊,这是何故?其实我做的是针对discuz的自动发帖,发完贴之后就跳转到帖子内容页了,现在我想取得新帖的id,url里面有这个。

他只有一节 200,所以并没有发生 http 跳转
而是在表单接受页直接 include 了帖子页
你只能分析页面内容,找出帖子的 id
其实也很简单:找到回复的代码就可以了

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板