【发布时间】:2019-01-20 16:39:51
【问题描述】:
我正在尝试使用 PHP 和 cURL 从 Amazon EC2 实例上的自定义构建 wordpress 插件访问网站的 sitemap.xml 文件。 这个网站的sitemap.xml 文件只有13 项,是一个很小的文件。 当我在浏览器中输入“https://www.example.com/sitemap.xml”时,我可以查看该文件。我在实例的 php.ini 文件中启用了“fopen”。我的PHP代码很简单,但是脚本运行了很长时间(几分钟)没有结果并且报错:
TCP connection reset by peer
function getThisSiteMap(){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.example.com/sitemap.xml');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_ENCODING, '');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36');
$feed = curl_exec($ch);
if (curl_error($ch)) {
$error_msg = curl_error($ch);
}
$xmlTermsIR = simplexml_load_string($feed);
if ($xmlTermsIR) {
echo 'HEELLEOO';
} else {
echo 'NOT WORKING' . '<br>';
echo $error_msg;
}
}
我有点困惑,因为我可以使用相同的代码访问其他 sitemap.xml 文件。我需要使用不同的用户代理吗?如何使用 cURL 访问此 sitemap.xml?任何帮助将不胜感激。
【问题讨论】:
标签: php wordpress curl amazon-ec2