在PHP cURL中下载SSL映像

时间:2018-12-26 09:28:16

标签: php curl openssl

我想使用curl在PHP中下载图像。但它不起作用。当我运行代码时,大约需要1分钟的时间,并且下载的空白图像文件将超时。

cURL似乎无法解析SSL传输。

我尝试了许多在线解决方案。但没有任何办法解决我的问题。请帮助我

这是我的代码:(方法1)

for

这是我的代码:(方法2)

case $var in

我读到某处旧的curl或OpenSSL不支持TLS 1.2。但这不是我的情况。这是PHP cURL版本的详细信息:

$http_img = 'https://www.adidas.ca/dis/dw/image/v2/aaqx_prd/on/demandware.static/Sites-adidas-CA-Site/Sites-adidas-products/en_CA/v1545380233904/zoom/DV2807_00_plp_laydown.jpg?sw=440&sfrm=jpg';
$dest_image = fopen('dest_image.jpg', 'wb');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $http_img);
curl_setopt($ch, CURLOPT_FILE, $dest_image);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_CAINFO, 'C:/wamp/www/test/cacert.pem');
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_exec($ch);

您还可以建议使用cURL以外的解决方案来下载SSL映像

[编辑]

(方法2)的错误日志

$http_img = 'https://www.adidas.ca/dis/dw/image/v2/aaqx_prd/on/demandware.static/Sites-adidas-CA-Site/Sites-adidas-products/en_CA/v1545380233904/zoom/DV2807_00_plp_laydown.jpg?sw=440&sfrm=jpg';
$dest_image = fopen('dest_image.jpg', 'wb');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $http_img);
curl_setopt($ch, CURLOPT_FILE, $dest_image);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_exec($ch);

0 个答案:

没有答案