curl を PHP に変換

curl2code は、cURL 拡張機能または Guzzle ライブラリを使用して、curl コマンドを PHP コードに変換します。変換は完全なプライバシー保護のため、WebAssembly を介してブラウザ内で実行されます。同様のサーバーサイド言語については、curl to Python 変換ツール または curl to Ruby をご確認ください。以下に、実用的な PHP の例を示します。

ブラウザから curl をコピーする方法

  1. 1

    デベロッパーツールを開く

    F12 キーを押すか、Ctrl+Shift+Iを使用してブラウザのデベロッパーツールを開きます。

  2. 2

    ネットワークタブに移動

    ネットワークタブをクリックし、HTTP リクエストをトリガーするアクションを実行します。

  3. 3

    cURL としてコピー

    リクエストを右クリック → コピーcURL としてコピー を選択します。その後、上に貼り付けてください。

よくある質問

PHP cURLとは何ですか?

PHPのcurl拡張は、C言語のlibcurlライブラリのラッパーであり、強力なHTTPクライアント機能を提供します。curl自体がサポートする事実上すべてのプロトコルと機能をサポートしています。curl_init()で初期化し、curl_setopt()でオプションを設定し、curl_exec()で実行します。curl2codeは代替案としてGuzzleRequestsもサポートしています。

PHP cURL、Guzzle、Requestsのどれを使うべきですか?

PHP cURLは低レベルで組み込み済みのため、Composerは不要です。Guzzleは、PSR-7サポート、ミドルウェア、非同期リクエストを備えた最も人気のあるPHP HTTPクライアントです。Requestsは、クイックなタスクのためのシンプルなAPIを提供します。モダンなプロジェクトにはGuzzleを、最小限のセットアップにはPHP cURLを使用してください。他の言語での同様のオプションについては、curl to Pythonをご覧ください。

PHPで認証を処理するにはどうすればよいですか?

cURLの場合:curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer token'])。Basic認証の場合:curl_setopt($ch, CURLOPT_USERPWD, 'user:pass')。Guzzleでは'auth' => ['user', 'pass']または'headers' => ['Authorization' => 'Bearer token']を使用します。curl2codeは-uおよびBearerフラグを自動的に処理します。

PHPでマルチパートフォームデータを送信するにはどうすればよいですか?

cURLの場合:ファイルにはCURLOPT_POSTFIELDSを含む配列をnew CURLFile('path')に渡します。Guzzleでは、フィールド/ファイルの配列を持つ'multipart'オプションを使用します。curl2codeは、各PHPライブラリのバリアントに合わせて-Fフラグを正しい形式に変換します。

PHPでHTTPエラーを処理するにはどうすればよいですか?

cURLの場合:トランスポートエラーについてはcurl_errno($ch)を確認し、レスポンスステータスを手動でパースします。Guzzleは失敗時にRequestExceptionをスローします。ClientException (4xx)、ServerException (5xx)、ConnectException (ネットワーク)をキャッチしてください。リソースを解放するために、常にcurl_close($ch)を呼び出してください。

PHPで非同期HTTPリクエストを行うにはどうすればよいですか?

Guzzleは、Promiseを返す$client->requestAsync('GET', $url)を介して非同期をサポートしています。並行リクエストにはPromise\Utils::all()を使用します。cURLでは、並列実行のためにcurl_multi_*関数を使用します。真に非同期なPHPについては、ReactPHPやAmpフレームワークとそのHTTPクライアントを検討してください。

PHPでタイムアウトを設定するにはどうすればよいですか?

cURLの場合:接続にはCURLOPT_CONNECTTIMEOUT、リクエスト全体の時間にはCURLOPT_TIMEOUTを使用します。Guzzleは秒単位で'connect_timeout''timeout'を受け入れます。これらはcurlの--connect-timeoutおよび--max-timeオプションに直接マッピングされます。

PHPでプロキシを使用するにはどうすればよいですか?

cURLの場合:curl_setopt($ch, CURLOPT_PROXY, 'http://proxy:8080')。SOCKS5の場合:CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5を追加します。Guzzleでは'proxy' => 'http://proxy:8080'を使用します。curl2codeは-xおよび--proxyフラグを対応するPHPコードに変換します。

PHPでJSONボディを含むPOSTリクエストを送信する方法は?

curl2codeを使用して、curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URLのようなcurlのPOSTコマンドをPHPに変換します。生成されたコードではcurl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data))を使用します。curl2codeはJSONコンテンツを含む-d/--dataフラグを自動的に検出し、cURLのコードに適切なContent-Typeヘッダーを設定します。

PHPでBearerトークン認証を追加する方法は?

curl -H "Authorization: Bearer YOUR_TOKEN" URLをcurl2codeに渡すと、認証ヘッダーcurl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer TOKEN'])を含むcURLのコードが生成されます。curl2codeは-H "Authorization: Bearer ..."--oauth2-bearerフラグの両方からBearerトークンを検出します。Basic authの場合は、-u user:passを使用してください。

PHPでContent-Typeヘッダーを設定する方法は?

curl2codeはcurl -H "Content-Type: application/json" URLを、適切なヘッダーcurl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json'])を含むcURLのコードに変換します。-dデータの場合、curlはデフォルトでapplication/x-www-form-urlencodedを使用し、-Fフォームアップロードの場合はmultipart/form-dataを使用します。curl2codeはそれぞれを正しいcURL APIにマッピングします。

PHP cURL拡張機能とGuzzle、どちらを使うべきですか?

PHP cURL extensioncurl_*関数)はPHPに組み込まれており、追加の依存関係を必要としません。シンプルなリクエストやオーバーヘッドを最小限に抑えたい場合に最適です。Guzzleは、ミドルウェア、非同期リクエスト、PSR-7/PSR-18のサポート、自動リトライ機能を備えたフル機能のHTTPクライアントです。軽量なスクリプトにはcURLを、複雑なアプリケーションにはGuzzleを使用してください。curl2codeは両方のコードを生成できます。言語ドロップダウンで好みのバリアントを選択してください。

便利なリンク

curl ガイド

curl を他の言語に変換