我在我正在处理的一些 PHP 代码中发现了问题,但我可以从 linux 终端使用 wget 和 curl 重现它。当我使用各自的程序从我的服务器获取相同的图像文件时,文件大小不同并且较小的 curl 文件已损坏。这发生在所有图像文件上,但并不总是损坏文件。
0.0.0.0 - - [18/Aug/2013:23:41:48 +0200] "GET /test.png HTTP/1.1" 200 555247 "-" "Wget/1.13.4 (linux-gnu)"
0.0.0.0 - - [18/Aug/2013:23:42:53 +0200] "GET /test.png HTTP/1.1" 200 555191 "-" "curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3"
您会注意到使用 curl 下载的 png 文件小 56 字节,这足以损坏图像。有问题的服务器是我自己的运行 ubuntu 服务器和 apache 的服务器,据我所知,它没有任何标准,或者我的 curl\wget 设置。(是的,为了安全起见,我捏造了 IP 地址)
非常感谢任何帮助。