尝试 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 重定向