Php cURL在存在的文件(远程服务器)上返回404。为什么?
我正在检查是否存在某些mp3。虽然有时没有问题,但某些有效的mp3文件显示为404,未找到。以下是我使用的代码:Php cURL在存在的文件(远程服务器)上返回404。为什么?,php,curl,Php,Curl,我正在检查是否存在某些mp3。虽然有时没有问题,但某些有效的mp3文件显示为404,未找到。以下是我使用的代码: $ch = @curl_init($file_path); @curl_setopt($ch, CURLOPT_HEADER, true); @curl_setopt($ch, CURLOPT_NOBODY, true); @curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); @curl_setopt($ch, CURLOPT_RETURN
$ch = @curl_init($file_path);
@curl_setopt($ch, CURLOPT_HEADER, true);
@curl_setopt($ch, CURLOPT_NOBODY, true);
@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
@curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
@curl_exec($ch);
$header = curl_getinfo($ch);
curl_close($ch);
echo "<pre>";
print_r($header);
echo "<pre>";
$ch=@curl\u init($file\u path);
@curl_setopt($ch,CURLOPT_头,true);
@curl_setopt($ch,CURLOPT_NOBODY,true);
@curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
@curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
@curl_exec($ch);
$header=curl\u getinfo($ch);
卷曲关闭($ch);
回声“;
打印(页眉);
回声“;
我认为问题是因为网站使用了重定向,但将“CURLOPT_FOLLOWLOCATION”设置为TRUE并没有解决问题
http代码在以下MP3上显示404。您可以在浏览器中找到它们并查看它们是否正常工作。这些只是许多有这个问题的人的几个随机例子:
基本上:
假设curl exec已正确执行,并丢弃其返回值。如果执行查询时出现问题,exec将返回false和curl\u error,curl\u errno将包含关于什么爆炸以及如何爆炸的诊断信息。永远不要以为你成功了。失败的原因太多了,但成功的途径只有一条。至少,将代码更改为:
看看为什么事情会死。否则,你只会得到一些奇怪的结果,并且放弃了任何看到这些结果的机会。在一个无关的问题上,你是否碰巧拥有这些音乐文件的版权?@DevSolar:你是在问用户371699是否真的是Lady Gaga?Lady Gaga会使用RubyI没有检查,但是,如果某些服务器端脚本无法识别您的用户Argent,
$file\u path
包含什么内容,则可能会返回404?
@curl_exec($ch);
if (curl_exec($ch) === FALSE) {
die("Curl error: " . curl_error($ch));
}