「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Curl を使用して Web ブラウザの GET リクエストをエミュレートする方法

Curl を使用して Web ブラウザの GET リクエストをエミュレートする方法

2024 年 11 月 9 日に公開
ブラウズ:684

How to Emulate a Web Browser\'s GET Request with Curl?

Curl を使用した Web ブラウザの GET リクエストのエミュレート

curl を使用して Web ページを取得しようとすると、次のようなエラーが発生することがあります。認識されない、または満たされていないリクエスト ヘッダー。これは、curl が Web ブラウザの GET リクエスト ヘッダーをネイティブにエミュレートしないためです。

Web ブラウザを適切にシミュレートするには、次の手順に従ってください:

  1. ユーザー エージェントの構成:

    • CURLOPT_USERAGENT を使用して、curl リクエストに有効なユーザー エージェントを割り当てます。これにより、シミュレートしているブラウザとオペレーティング システムがサーバーに通知されます。
  2. Cookie の処理 (オプション):

    • サーバーはリクエストを認証するために Cookie を使用する場合があります。 Cookie を管理するには、CURLOPT_COOKIE、CURLOPT_COOKIEFILE、および CURLOPT_COOKIEJAR を使用します。
  3. SSL 証明書の検証:

    • リクエストに以下が含まれる場合HTTPS の場合、SSL 証明書の確認が必要になる場合があります。 CURLOPT_SSL_VERIFYPEER を使用して証明書の検証を無効にします (安全な接続には推奨されません)。
  4. 詳細モードの設定:

    • 印刷するにはデバッグ情報を提供し、リクエストとレスポンスのプロセスに関する洞察を提供します。 CURLOPT_VERBOSE.
  5. コード例:

    • これらの改善点を含む更新された例を次に示します:
$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);
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3