如果我没有正确地说明这一点,那么你们首先在论坛上发帖如此呐喊。
我现在已经尝试了大约一天的时间来获取xml feed到我的应用程序中。通常不是问题,我有两个其他的feed使用我在下面附加的simpleXml方法进入应用程序。
我的问题是这个其他页面是一个aspx页面,它似乎有某种重定向,或者可能只是使用一个使用干净网址的aspx框架。
这是我用于其他两个数据拉动的脚本。
$grb_feed_url = 'http://www.grb.uk.com/rss.php';
$grb_jobs = simplexml_load_file($grb_feed_url, 'SimpleXMLElement', LIBXML_NOCDATA);
这很好但是当我为网址http://www.milkround.com/rss.aspx尝试它时,它什么也没有返回。
然后我尝试了一个cURL脚本,这个适用于godaddy示例,但没有为Milkround网址返回任何内容。同样奇怪的是,如果我删除CURLOPT_FOLLOWLOCATION行或将其设置为0,则返回“object moved to here”。
function get_data($url)
{
$ch = curl_init();
$timeout = 5;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$returned_content = get_data('http://www.milkround.com/rss');
print_r($returned_content);
/* example of a url that works using this script */
/* $returned_content = get_data('http://www.godaddy.com/hosting/website-builder.aspx'); */
任何帮助都会非常感激。
提前致谢。
答案 0 :(得分:3)
您需要在cURL请求中包含User-Agent标头,否则该网站会产生501错误:
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/4");