不下载正则表达式 url 的文件

它在从 url 下载文件时给出 404 Not Found。我想从 url 链接下载文件。


我在 PHP 中尝试使用 curl。



$output_filename = "text.jpg";


$imageUrl = "https://m.media-amazon.com/images/M/MV5BZjZhYTkyMjgtNjFkZi00NDAyLTk5ZDgtMDYwZTBkYTI1ODllXkEyXkFqcGdeQXVyNTc5OTMwOTQ@._V1_.jpg";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $imageUrl);

curl_setopt($ch, CURLOPT_VERBOSE, 1);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_AUTOREFERER, false);

curl_setopt($ch, CURLOPT_REFERER, "http://www.xcontest.org");

curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);

curl_setopt($ch, CURLOPT_HEADER, 0);


$result = curl_exec($ch);

curl_close($ch);


print_r($result); // prints the contents of the collected file before writing..



// the following lines write the contents to a file in the same directory (provided permissions etc)

$fp = fopen($output_filename, 'w');

fwrite($fp, $result);

fclose($fp);


当我运行脚本时,它会返回 404 not found 警告找不到文件。我也尝试从互联网上找到解决方案,但没有得到确切的结果。我认为由于从正则表达式url 链接下载文件,它会发出警告。


在浏览器中粘贴图像 url 时存在文件,如下图所示。

http://img2.mukewang.com/61c57d220001a38415590828.jpg

小唯快跑啊
浏览 174回答 1
1回答

斯蒂芬大帝

https://m.media-amazon.com/images/M/MV5BZjZhYTkyMjgtNjFkZi00NDAyLTk5ZDgtMDYwZTBkYTI1ODllXkEyXkFqcGdeQXVyNTc5OTMwOTQ@._V1_.jpg除非您尝试使用传输压缩(如gzip或deflate),否则将显示 http 404 错误这可能是他们的图像缓存服务器中的一个错误,应该有人向 media-amazon.com 系统管理员发送错误报告。在任何情况下,默认情况下 curl 不会尝试使用传输压缩,您必须明确启用它,并且启用它只需将 CURLOPT_ENCODING 设置为空字符串,例如curl_setopt($ch, CURLOPT_ENCODING, '');这告诉 curl 尝试传输压缩,你应该得到图像(但同样,这是服务器中的一个错误,有人应该让他们知道以便他们可以修复它!)
打开App,查看更多内容
随时随地看视频慕课网APP