ホームページ  >  記事  >  バックエンド開発  >  リモート Web コンテンツを取得するための PHP コード

リモート Web コンテンツを取得するための PHP コード

WBOY
WBOYオリジナル
2016-07-25 08:56:451265ブラウズ
この記事では、fopen メソッドやcurl メソッドなど、PHP で実装されたリモート Web コンテンツを取得するいくつかの方法を紹介します。必要な方は参考にしてください。

いくつかの PHP コードを共有して、リモート Web ページのコンテンツを取得します。 1. fopenメソッド

リーリー

エラーが発生した場合: ストリームを開けませんでした: HTTP リクエストが失敗しました!。

解決策: php.ini には、allow_url_fopen =on (リモート ファイルを URL 経由で開くことができることを示します)、user_agent="PHP" (ネットワークへのアクセスにどのスクリプトが使用されるかを示します。デフォルトでは、「;」が含まれます) という 2 つのオプションがあります。サーバーを再起動します。 以下に示すように:

完璧な解決策: php.ini で user_agent を設定します。php のデフォルトの user_agent を Mozilla/4.0 (互換性のある、MSIE 6.0、Windows NT 5.0) に変更します。 user_agent="Mozilla/4.0 (互換性; MSIE 6.0; Windows NT 5.0)"

2.カール方法

リーリー

注: 次のコードを使用して、Linux でダウンロードできます。 exec("wget {$url}");

PHP の外部リソース取得関数 fopen、file_get_contents、curl の違い: 1. fopen/file_get_contents は、リクエストごとに DNS クエリを再実行し、DNS 情報をキャッシュしません。 2. CURL は DNS 情報を自動的にキャッシュします。同じドメイン名の Web ページまたは画像に対するリクエストには、DNS クエリが 1 つだけ必要です。 これにより、DNS クエリの数が大幅に削減されます。 したがって、CURL のパフォーマンスは fopen や file_get_contents よりも優れているため、CURL を使用することをお勧めします。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。