尝试 cURL RSS 提要时出现错误 400 'bad request'
Error 400 'bad request' when trying to cURL RSS feed
我正在尝试通过 PHP cURL 抓取以下提要(经许可):
http://www.safc.com/Home/RSS Feeds/News%20Feed
在浏览器中加载正常,但给我一个 400 'bad request' 和 cURL。
$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
是一个任意标识符,因为我意识到一些其他提要不会吐出内容,除非这个 header 存在。我试过一个一个去掉header,也试过加几个,但那种做法感觉有点needle/haystack.
在我联系网站所有者之前,有人知道我该如何解决这个问题吗?
使用 http://www.safc.com/home/rss%20feeds/news%20feed 检查 "Home" 和 "home" 之间的差异 当您使用 "Home".
时有 301 重定向
我正在尝试通过 PHP cURL 抓取以下提要(经许可):
http://www.safc.com/Home/RSS Feeds/News%20Feed
在浏览器中加载正常,但给我一个 400 'bad request' 和 cURL。
$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
是一个任意标识符,因为我意识到一些其他提要不会吐出内容,除非这个 header 存在。我试过一个一个去掉header,也试过加几个,但那种做法感觉有点needle/haystack.
在我联系网站所有者之前,有人知道我该如何解决这个问题吗?
使用 http://www.safc.com/home/rss%20feeds/news%20feed 检查 "Home" 和 "home" 之间的差异 当您使用 "Home".
时有 301 重定向