我试图使用curl来获取网页的内容,但是我得到了一个空的回复。检查标题后,我发现远程服务器返回' HTTP / 1.1 302暂时移动'
当然,浏览器中的相同网址会返回页面。
为什么会这样?也许远程服务器可以理解这是一个卷曲请求并有一些限制?关于如何获取页面内容的任何想法?
感谢。
答案 0 :(得分:2)
您必须切换CURLOPT_FOLLOWLOCATION
选项:
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
希望它有所帮助。
答案 1 :(得分:0)
如果来自mudasobwa答案的重定向选项(curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true)
)没有解决问题,那么服务器也可能阻止来自“普通”用户代理的请求。您可以使用此选项模拟curl中的用户代理字符串(示例):
curl_setopt($curl, CURLOPT_USERAGENT,"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 " );
您甚至可以从列表中添加浏览器的随机用户代理:http://www.vwp-online.de/ua.php?ua_type=browser