我有一个简单的PHP脚本,可从craigslist加载RSS提要。它已经运行了好几个月,然后在几天前突然停止了提取数据。我尝试在本地主机上运行脚本,它可以正常运行。我联系了托管网站的GoDaddy,但没有运气。我尝试了另一个托管服务HostGator,并且遇到了相同的问题,它无法检索数据。
是什么原因导致它突然停止在共享主机帐户上工作,但仍在我的LocalHost上工作?
这是简单的PHP脚本-
$rss = new DOMDocument();
$rss->load("Craigslist RSS Feed URL");
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node) {
$item = array (
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
'date' => $node->getElementsByTagName('date')->item(0)->nodeValue,
);
array_push($feed, $item);
}
var_dump($feed);
答案 0 :(得分:0)
您的Php脚本使用DOMDocument,它需要php-xml扩展名。您是否在共享主机上安装了它?。
我不确定为什么您的代码可以在localhost上运行,但不能在共享主机上运行。 craiglist服务器可能会将您共享的主机IP视为可疑。
如果您的IP地址被阻止,则您可能需要在curl请求中添加用户代理标头。这将使您的请求看起来像来自网络浏览器。