ホームページ  >  記事  >  バックエンド開発  >  File_get_contents(url): ストリーム solution_PHP チュートリアルを開けませんでした

File_get_contents(url): ストリーム solution_PHP チュートリアルを開けませんでした

WBOY
WBOYオリジナル
2016-07-14 10:07:301907ブラウズ

www.2cto.com:摘自英文网站

提督:

皆さんこんにちは;
URL からコンテンツを取得する php ファイルがあり、失敗メッセージが表示されます
折りたたむ |コードのコピー警告: file_get_contents(http://xxxxxx): ストリームを開けませんでした: HTTP リクエストが失敗しました。 xxxx.php の xx 行目
非常に多くのオンラインソリューションを試しましたが、まだ機能しません。コードはこちらです
折りたたむ |コードをコピー $cryptpass = rawurlencode(crypt($pc['pcpassword']));
$url = "http://" 。 $pc['pcname']."/Reports/ReportList.php?&username={$pc['pcusername']}&cryptpass=$cryptpass&noredir=1";
$parsed_list = read_general_list($url, false); 
折りたたむ |コード関数 read_general_list($url, $make_assoc = false) をコピー
{
$compressed_data = file_get_contents($url);
}
$compressed_data は常に null であり、エラーがスローされます:
警告: file_get_contents(http://xxxxxx): ストリームを開けませんでした: HTTP リクエストが失敗しました。 xxxx.php の xx 行目
何か提案はありますか? 

答复:

申し訳ありませんが、この質問を完全に更新したことがありません。まだ答えを探している人がいるかもしれません。
これは私にとってはうまくいきました。これは File_get_contents と同等の関数ですが、大量のデータを処理できます。この解決策をオンラインで見つけました。
折りたたむ |コードをコピー function file_get_contents_curl($url) {
$ch =curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // データをブラウザに出力する代わりにデータを返すようにcurlを設定します。
curl_setopt($ch, CURLOPT_URL, $url);
$data =curl_exec($ch);
curl_close($ch);
$data を返す;
}
第二解答:
 
エラーメッセージが示すように、要求されたストリーム(URL)を開くことができません。これには多くの理由が考えられます:
1.ベース URL が不正です。 $pc['pcname']
2.ユーザー名やパスワードが間違っています
3.ユーザー名/パスワードにはサーバーに対する権限がありません
4.お使いのシステムはサーバーにアクセスできません (ファイアウォール、PHP 権限など)
4. ...
デバッグには次の戦略を使用します:
1. $url をダンプして書き留めます。
2.デバッグ ツールを備えたブラウザ (Firefox/Firebug など) を使用して、その URL にアクセスしてみます。
3.返されたヘッダーを見て、サーバーがどのようなエラーを報告したか (存在する場合) を確認します。
4.なぜそのエラーが返されるのか考えてみましょう...
乾杯
ピーター
これが質問の答えになる場合は、投票して承認済みとしてマークを付けてください。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/477853.html技術記事 www.2cto.com:摘自英文网站 提问者: 皆さん、こんにちは。 URL からコンテンツを取得する php ファイルがありますが、失敗メッセージが表示されます。コードをコピーする警告...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。