我正在尝试通过PHP cURL来刮取下面的Feed(经过许可):
http://www.safc.com/Home/RSS Feeds/News%20Feed
在浏览器中加载正常,但使用cURL给我一个400'错误请求。
$ch = curl_init($uri); //http://www.safc.com/Home/RSS Feeds/News%20Feed
curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_ENCODING => '',
CURLOPT_TIMEOUT => CURL_CONNECT_TIMEOUT,
CURLOPT_USERAGENT => CURL_USER_AGENT,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_FOLLOWLOCATION => true
));
$ret = curl_exec($ch);
结果是400;我通过查看curl_getinfo()
来了解这一点。
CURL_USER_AGENT
是一个任意标识符,因为我意识到除非此标题存在,否则其他一些Feed不会吐出内容。我已经尝试逐个删除标题,并尝试添加更多,但这种方法感觉有点针/ haystack。
在我接近网站所有者之前,是否有人知道如何解决这个问题?
答案 0 :(得分:1)
使用http://www.safc.com/home/rss%20feeds/news%20feed检查“Home”和“home”之间的不同,当您使用“Home”时会有301重定向。