除了代码中的 url 之外,我的脚本运行良好。我总是得到 404。当然我可以从浏览器获取图像。有人可以帮我解决这个问题吗? PS:实际上,我可以使用方法 int "questions/6476212" 来获取图像文件。但是当试图打开图像文件时,文件中的内容是 404 页面而不是图像。
$url = 'https://spthumbnails.5min.com/10368406/518420256_c_570_411.jpg';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.1 Safari/537.11');
$res = curl_exec($ch);
$rescode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch) ;
echo $res;"
您的脚本编写正确。我已经尝试过并且工作正常,但是您需要设置图像标题才能让导航器显示图像。
例子:
header("Content-Type: image/jpeg");
$url = 'https://images.nga.gov/en/web_images/constable.jpg';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.1 Safari/537.11');
$res = curl_exec($ch);
$rescode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch) ;
echo $res;
但是请注意您的图片网址已关闭,这就是您收到 404 错误的原因。
-- 编辑 Y2023 --
如果您希望脚本为 302 代码(重定向)做好准备,您需要添加以下标头
CURLOPT_FOLLOWLOCATION = 真 CURLOPT_MAXREDIRS = 10 // 这不是强制性的(默认为 -1)。
问候