PHP と cURL を使用したブラウザの GET リクエストのエミュレート
cURL を使用して Web サーバーからコンテンツを取得しようとすると、同じコンテンツを Web ブラウザにロードします。これは、Web ブラウザがリクエストに追加情報を埋め込むためです。これは多くの場合、認証や適切な機能に必要です。
ブラウザのような GET リクエストを正確にエミュレートするには、適切なヘッダーと設定を使用して cURL を構成する必要があります。その方法は次のとおりです。
ユーザー エージェント: ユーザー エージェント文字列は、サーバーに対してブラウザの種類を識別します。 CURLOPT_USERAGENT を使用して、「Mozilla/4.0 (互換性; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)」などのカスタム ユーザー エージェントを設定します。
Cookie: Web サイトでは、認証または追跡の目的で Cookie を使用する場合があります。 Cookie をサポートするには、CURLOPT_COOKIE、CURLOPT_COOKIEFILE、または CURLOPT_COOKIEJAR を使用します。
SSL 検証: リクエストで HTTPS (安全なプロトコル) が使用されている場合、cURL はサーバーの証明書を検証する必要がある場合があります。潜在的なエラーを回避するには、CURLOPT_SSL_VERIFYPEER を使用して証明書の検証を無効にします。
これらの設定を組み込んだコードの修正バージョンは次のとおりです:
<code class="php">$url = "https://new.aol.com/productsweb/subflows/ScreenNameFlow/AjaxSNAction.do?s=username&f=firstname&l=lastname"; $agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)'; $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_VERBOSE, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERAGENT, $agent); curl_setopt($ch, CURLOPT_URL, $url); $result = curl_exec($ch); var_dump($result);</code>
これらの設定を構成することで、ブラウザーのような GET をエミュレートできます。リクエストがより効果的になり、cURL でページを読み込むときに発生していた問題が解決される可能性があります。
以上がPHP と cURL を使用してブラウザの GET リクエストをエミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。