Web 開発者の皆さん、キーボードをしっかり握ってください。ツールキットに cURL が含まれていない場合、この分野で最も強力なツールの 1 つを見逃している可能性があります。cURL は単なる CLI ベースの HTTP クライアントではなく、コマンドライン HTTP クライアントです。 cURL の真髄を探る旅にご参加ください。cURL の謎を解き明かし、その機能を探り、プロのように使用するための知識を身につけることができます。cURL の真の力を解き放つ準備はできていますか? さあ、始めましょう! cURL とは何ですか? 「Client for URLs」の略で、コマンドライン ツールと この 2 つは、さまざまなネットワーク プロトコルにわたる URL 構文によるデータ転送を専門としています。libcurl には、SSL サポート、プロキシ トンネリング、ヘッダー構成、Cookie 管理などの機能も備わっています。 cURL は libcurl と呼ばれるライブラリを含むソフトウェア プロジェクトです。 libcurl がサポートするプロトコルの完全なリストを調べるのは、デジタルのアルファベット スープをナビゲートするようなものです。HTTP、HTTPS、FTP、SFTP、IMAP、POP3、SMTP、MQTT など、数十のプロトコルが含まれます。リストが非常に長いため、聞いたことのないプロトコルもあるかもしれません。そうであっても、安心してください。あなただけではありません! 😜 cURL が開発者の間で人気を博したのはなぜでしょうか。それは、そのクロスプラットフォームの能力にあります。PHP、Python、Java など、多くのプログラミング言語で libcurl バインディングが利用できるため、cURL はさまざまな技術スタックにシームレスに統合されます。人気の理由は、その普遍性にあります。cURL は Linux、macOS、Windows にプリインストールされており、箱から出してすぐに、どのマシンのターミナルでも Web リクエストに使用できる頼りになるツールです。 ウェブ コンテンツの取得、API のテスト、ファイルのアップロードなど、cURL はあらゆるウェブ開発者のツールキットに欠かせないツールとして高く評価されています。その比類のない柔軟性と効率性に匹敵するものはありません。🚀 cURL の実践: 構文と例 ツールキットに cURL が組み込まれましたが、これをどのように使用すればよいでしょうか? 簡単です! 次の構文に従って、ターミナルでコマンドを起動します。 curl [options] [URL] 宛先、つまりターゲットとするオンライン サーバーまたはリソースです。一般的な cURL オプションは次のとおりです。 URL または : 使用する HTTP メソッドを設定します。 -X --request または : リクエストの本文にデータを追加します。 -d --data または : リクエストの Cookie を管理します。 -b --cookie または : リクエストにカスタム ヘッダーを追加します。ヘッダーが複数ある場合は、オプションを何度も繰り返します。デフォルトは 。 -H --header GET または : デバッグ用の詳細な情報を出力します。 -v --verbose 利用可能なすべてのオプションを確認するには、 🔎 ドキュメントをご覧ください ⚠️ : コマンドラインの オプションは敏感なので注意してください。したがって、 と には異なる意味があります。 注 1 curl -x -X ⚠️ : PowerShell では、 のエイリアスです。Windows で cURL を使用するには、 ではなく と記述します。 注 2 curl Invoke-Request curl curl.exe それでは、 別に分類された実際の例で cURL 構文の動作を見てみましょう。 HTTP メソッド 得る cURL を使用して対象 Web ページのソース HTML を取得する方法は次のとおりです。 curl "https://example.com/" 内部的には、cURL は GET リクエストを作成し、 Web ページに関連付けられた HTML ドキュメントを取得して、ターミナルに出力します。 https://example.com/ たった 1 つのコマンドで情報を取得できました。すごいと思いませんか? 🔥 役職 以下の cURL POST の例では、新しいユーザーを作成するために必要な JSON データを使用して エンドポイントを呼び出します。 https://api.example.com/users curl -X POST -H "Content-Type: application/json" -d '{"name": "John", "age": 30}' "https://api.example.com/users" 目的の HTTP メソッドを指定する オプションに注意してください。Content ヘッダーを設定する オプションと、文字列で生の JSON データを指定する オプションの使用にも注意してください。専用の を確認してください。 -X Content-Type -H -d cURL POST リクエスト ガイド 置く cURL PUT 呼び出しは次の構文に従います。 curl -X PUT -d "name=Amazon%20Scraping&description=Automated%20data%20extraction%20for%20retrieving%20price%20data&status=completed" "https://api.example.com/projects/12" HTTP リクエストは、提供されたデータを使用して ID 12 のプロジェクトを更新します。この例では、リクエスト本文のデータは、上記の cURL POST 呼び出しで使用された JSON 本文とは対照的に、 形式です。データ形式のこの柔軟性は、さまざまなユースケースに対する cURL の適応性を示しています。 application/x-www-form-urlencoded パッチ cURL で PUT リクエストを実行して、オンライン リソースの単一のフィールドを更新したいですか? 方法は次のとおりです。 curl -X PATCH -d "status=failed" "https://api.example.com/projects/12" 消去 cURL を使用すると、以下のように DELETE リクエストを発行して既存のエンティティの存在を消去できます。 curl -X DELETE https://api.example.com/user/431 この API 呼び出しの後、ID 431 のユーザーは存在しなくなります。 高度な cURL オプション cURL には多数のオプションがあり、それぞれが複雑なユースケースに独自の機能を提供します。その世界を探索すると、特定の高度なオプションが目立ちます。最も便利な高度な cURL オプションのトップ 10 を以下に示します。 または : 出力を ではなく指定されたローカル ファイルに書き込みます。 -o --output <stdoud> または : 出力をリモート ファイルに保存します。 -O --remote-name または : 出力に応答 HTTP ヘッダーを含めます。 -i --include または : 形式のユーザー名とパスワードで認証します。 -u --user user:password または : サーバーが で応答したときにリダイレクトに従います。 -L --location 3XX 応答コード または : 「リファラーページ」情報を HTTP サーバーに送信します。 -e --referer または : リクエストを送信するプロキシ サーバーの URL を指定します。詳細については、 に関するチュートリアルを読むか、以下のビデオをご覧ください。 -x --proxy プロキシで cURL を使用する方法 : レート制限措置のトリガーを回避するために cURL が遵守する最大転送頻度を指定します。 --rate : 追加の処理を一切行わずに、指定されたとおりにデータをサーバーに送信します。 --data-binary : 圧縮された応答を要求し、応答コンテンツを自動的に解凍します。 --compressed これらのオプションを習得すると、進化し続ける Web インタラクションの領域で、比類のない巧みさで cURL を活用できるようになります。🌐 https://www.youtube.com/watch?v=oadUjiVxDFY&embedable=true cURL を最大限に活用する方法 cURL は Web リクエストの強力なツールですが、デフォルトの設定ではボット対策に対して脆弱です。たとえば、デフォルトの ヘッダーを考えてみましょう。 User-Agent curl/XYZ 方法を参照してください。 cURL ユーザー エージェント値を変更する 次に、これを最新の Chrome のユーザー エージェントと比較します。 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 それはまったく違う文字列です! そのヘッダーをオーバーライドせずに cURL を使用することは、ターゲット サーバーに「私を見てください。私は自動化された、ブラウザー以外のロボット リクエストです!」と叫んでいるようなものです。 当然、防御メカニズムがトリガーされる可能性があります 😅。また、cURL は単なる HTTP クライアントであることを忘れないでください。したがって、レンダリングやデータ取得に JavaScript に依存するページを処理できません。 使用する場合、これは良くありません !👎 👎Web スクレイピングに cURL を では、cURL の使用をやめるべきでしょうか? いいえ、そうではありません! 適切なツールを装備するだけでよいのです! cURL の潜在能力を最大限に引き出し、その制限に対処するには、次のいずれかと統合します。 :リクエストごとに新しい、位置情報付きの信頼できるIPアドレスを取得する。 ウェブプロキシ : ボット検出テクノロジーを回避しながら、公開されている静的ページまたは JavaScript に依存する Web ページにアクセスします。 Web ロック解除ツール どのような決断をしても、Bright Data が対応します。 の 1 つである Bight Data は、世界中に数百万のプロキシ サーバーを配備しています。さらに、 ソリューションを使用すると、ボット保護のレベルに関係なく、cURL 経由であらゆるパブリック Web サイトにアクセスできます。 市場最大かつ最も信頼性の高いプロキシ ネットワーク Web Unlocker 結論 HTTP クライアントのスターである cURL は、ターミナルで Web リクエストを行う開発者にとって頼りになるツールです。ここでは、一般的な HTTP メソッドで cURL を使用する方法を習得し、その多様なオプションについて調べました。これは強力なツールですが、現実的に考えてみましょう。ほとんどのサイトは、cURL 経由でアクセスしていることを検出できます。 恐れることはありません。解決策は簡単です。Web プロキシの助けを借りるか、最適な結果を得るために の Web Unlocker ソリューションを採用してください。インターネットを民主化し、強力な cURL を通じてでも、誰もがどこからでもアクセスできるようにするという私たちの使命にご参加ください。 Bright Data 次回まで、自由に Web を探索し続けてください。