在本例中,我有一个名为install64-7的服务器,我将访问它来检查是否存在一个没有在服务器上的zip文件。以下PHP代码返回install64-7 200,即使服务器install64-7上不存在压缩文件。
$srcPath = "http://install64-7/TestApp.zip";
$ch = curl_init( $srcPath );
curl_setopt( $ch, CURLOPT_NOBODY, true );
curl_exec( $ch );
$retcode = curl_getinfo( $ch, CURLINFO_HTTP_CODE );
curl_close( $ch );
unset( $ch );
var_dump($retcode);
exit;

如果我删除了选项CURLOPT_NOBODY,请求将给出一个404!第二次请求见屏幕截图
$srcPath = "http://install64-7/TestApp.zip";
$ch = curl_init( $srcPath );
//curl_setopt( $ch, CURLOPT_NOBODY, true );
curl_exec( $ch );
$retcode = curl_getinfo( $ch, CURLINFO_HTTP_CODE );
curl_close( $ch );
unset( $ch );
var_dump($retcode);
exit;

这怎么可能,我漏掉了什么?这是什么巫术的选项CURLOPT_NOBODY?谢谢你的帮助
发布于 2014-04-23 21:19:04
与“正常”HTTP相比,CURLOPT_NOBODY设置为TRUE发出HTTP请求。
如果您因此得到了不同的repsonse代码,这只是因为服务器决定以不同的方式进行响应--尽管根据HTTP规范它不应该这样做。
https://stackoverflow.com/questions/23248822
复制相似问题