0

変数 $mp4 にネストされた長い URL があり、curl でダウンロードしようとしていますが、不正な形式のエラーが発生します。できれば助けてください、よろしくお願いします!

以下は、私のphpスクリプトにあるものです。

exec("curl -o $fnctid.mp4 \"$mp4\"");

エラーメッセージ:

curl: (3) <url> malformed

ダウンロードをテストするためのサンプル URL:

http://f26.stream.nixcdn.com/6f4df1d8c248cf149b846c24d32f1c35/514e0209/PreNCT5/22-TaylorSwift-2426783.mp4
4

2 に答える 2

2

408 - Request Timeoutそれが修正された場合、現在の URL が返されます。この単純なコードは次のとおりです。

$url = 'http://f26.stream.nixcdn.com/6f4df1d8c248cf149b846c24d32f1c35/514e0209/PreNCT5/22-TaylorSwift-2426783.mp4';
$useragent = 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.3 Safari/533.2';


$file = __DIR__ . DIRECTORY_SEPARATOR . basename($url);
$fp = fopen($file, 'w+');
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, 320);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
echo curl_exec($ch);

var_dump(curl_getinfo($ch));   // return request information 


curl_close($ch);
fclose($fp); 
于 2013-03-26T12:06:42.223 に答える
1

このエラーは、urlencodeを使用して解決できます

 $url = urlencode ( $url )

この関数は、変数を渡す便利な方法として、URLのクエリ部分で使用される文字列をエンコードするときに便利です。

これが答えを解決することを願っています

于 2013-03-23T18:10:49.883 に答える