1. ホーム
  2. php

[解決済み] PHP file_get_contents() が "failed to open stream: HTTP request failed!" を返す。

2022-02-18 01:17:25

質問

PHPのコードからURLを呼び出すのに問題があります。PHPコードからクエリ文字列を使用してサービスを呼び出す必要があります。ブラウザにURLを入力するとうまくいきますが、file-get-contents()を使って呼び出すと、次のような結果になります。

Warning: file-get-contents(http://... ) failed to open stream: HTTP request failed! HTTPリクエストに失敗しました! HTTP/1.1 202 Accepted in ...

私が使っているコードは

$query=file_get_contents('http://###.##.##.##/mp/get?mpsrc=http://mybucket.s3.amazonaws.com/11111.mpg&mpaction=convert format=flv');
echo($query);

ブラウザから呼び出すと正常に動作すると言った感じです。何か提案はありますか?

などの別のurlでも試してみました。

$query=file_get_contents('http://www.youtube.com/watch?v=XiFrfeJ8dKM');

これは正常に動作します...それは私が呼び出す必要があるURLは、2番目の http:// を使用することができますか?

どのように解決するのですか?

cURLを使用してみてください。

<?php

$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL,'http://###.##.##.##/mp/get?mpsrc=http://mybucket.s3.amazonaws.com/11111.mpg&mpaction=convert format=flv');
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Your application name');
$query = curl_exec($curl_handle);
curl_close($curl_handle);

?>