我正在使用PHP cURL从URL中获取XML输出。这里是我的代码的样子:无法通过cURL获取XML输出
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.mydomain.com?querystring');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "username:password");
$store = curl_exec($ch);
echo $store;
curl_close($ch);
但是,而不是返回XML它只是显示我的404错误页面。如果我在网络浏览器中键入网址http://www.mydomain.com?querystring,我可以在浏览器中看到XML。
我在这里错过了什么? :(
感谢。
PHP脚本是否运行o与您的浏览器相同的机器?仅仅因为这个网址在一个地方运行,对于它在另一台机器上运行的效果绝对没有意义。 –
@Blueboye - 除了@Marc B的评论,一些网站所有者检查某些事情的存在,以确保请求来自网络浏览器而不是bot(或cURL)。你应该尝试添加'curl_setopt($ ch,CURLOPT_USERAGENT,'Mozilla/5.0(compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)');'看看是否解决了这个问题。这将发送一个用户代理字符串。该网站还可能检查是否存在Cookie或其他内容。 –
我在本地主机上运行PHP,但ULR是外部服务器。 – Blueboye