微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Amazon产品图像URL的cURL仅在localhost中有效

如何解决Amazon产品图像URL的cURL仅在localhost中有效

我已经使用了一个cURL脚本,以便可以从Amazon获取产品的图像,但是它只能在localhost上工作,在我的网站上却不起作用。

请有人可以帮助我使其正常工作吗?

function getHTML($url,$timeout)
{
    $ch = curl_init($url);
    curl_setopt($ch,CURLOPT_USERAGENT,$_SERVER["HTTP_USER_AGENT"]);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,CURLOPT_CONNECTTIMEOUT,$timeout);
    curl_setopt($ch,CURLOPT_FAILONERROR,1);
    return @curl_exec($ch);
}

$html=getHTML("https://www.amazon.com/dp/B003B7Q5YY",10);

    preg_match_all('/,"large":"(.*?)",/',$html,$output);
        foreach ($output[1] as $key=>$value) {

        echo $value;

    }

解决方法

首先,您需要确保已安装并启用了curl

if (function_exists('curl_version')) {
  // CURL is installed and enabled.
}

可以通过以下方式安装curl扩展程序:

sudo apt-get install php7.3-curl

您将需要更改软件包名称php7.3-curl以匹配您的php版本。

根据您运行php的方式,可能需要重新启动Web服务器或php fpm服务:

sudo service apache2 restart
sudo service php7.3-fpm restart

当我在本地尝试此操作时,我注意到响应已压缩,因此我需要使用以下命令设置Accept-Encoding头:

curl_setopt($ch,CURLOPT_ENCODING,'gzip');

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。