php curl脚本获取aspx页面';的内容


php curl script to get an aspx page's content

我已经尝试了大约一天的时间,以便在我的应用程序中获得xml提要。这通常不是一个问题,我有另外两个提要使用simpleXml方法进入应用程序,我在下面附上了它。

我的问题是,另一个页面是一个aspx页面,它似乎有某种重定向,或者可能只是使用了一个使用干净url的aspx框架。

这是我用于其他两个数据提取的脚本,效果很好。

$grb_feed_url = 'http://www.grb.uk.com/rss.php';
$grb_jobs = simplexml_load_file($grb_feed_url, 'SimpleXMLElement', LIBXML_NOCDATA);

这很好,但当我尝试url时http://www.milkround.com/rss.aspx它什么也不回。

然后我尝试了一个cURL脚本,这个脚本适用于godaddy示例,但对Milkround url没有返回任何结果。同样奇怪的是,如果我删除CURLOPT_FOLLOWLOCATION行或将其设置为0;对象移动到此处";。

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'); */

您需要在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");