我正在尝试从以下网址下载xml文件:https://www.bayzade.net/exportlink_181019170321.xml
但是我不能用curl下载它。错误:连接被拒绝。
但是我可以从浏览器上看到url。如何解决此错误?
Xampp PHP7。
$fp = fopen(dirname(__FILE__).'/errorlog.txt', 'a');
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'https://www.bayzade.net/exportlink_181019170321.xml',
CURLOPT_VERBOSE => true,
CURLOPT_STDERR => $fp
));
$resp = curl_exec($ch);
curl_close($ch);
print_r($resp);
连接被拒绝
答案 0 :(得分:1)
您需要设置CURLOPT_USERAGENT
才能发出完整请求,
某些网站为不同的操作系统和浏览器版本提供完全不同的内容或HTML,这是通过检测其用户代理来完成的
仅将CURLOPT_USERAGENT
包含在您的CURLOPT中:
$fp = fopen(dirname(__FILE__).'/errorlog.txt', 'a');
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'https://www.bayzade.net/exportlink_181019170321.xml',
CURLOPT_VERBOSE => true,
CURLOPT_STDERR => $fp,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
));
$resp = curl_exec($ch);
curl_close($ch);
print_r($resp);