curl を PHP に変換
curl2code は、cURL 拡張機能または Guzzle ライブラリを使用して、curl コマンドを PHP コードに変換します。変換は完全なプライバシー保護のため、WebAssembly を介してブラウザ内で実行されます。同様のサーバーサイド言語については、curl to Python 変換ツール または curl to Ruby をご確認ください。以下に、実用的な PHP の例を示します。
ブラウザから curl をコピーする方法
- 1
デベロッパーツールを開く
F12 キーを押すか、Ctrl+Shift+Iを使用してブラウザのデベロッパーツールを開きます。
- 2
ネットワークタブに移動
ネットワークタブをクリックし、HTTP リクエストをトリガーするアクションを実行します。
- 3
cURL としてコピー
リクエストを右クリック → コピー → cURL としてコピー を選択します。その後、上に貼り付けてください。
よくある質問
PHP cURLとは何ですか?
PHPのcurl拡張は、C言語のlibcurlライブラリのラッパーであり、強力なHTTPクライアント機能を提供します。curl自体がサポートする事実上すべてのプロトコルと機能をサポートしています。curl_init()で初期化し、curl_setopt()でオプションを設定し、curl_exec()で実行します。curl2codeは代替案としてGuzzleとRequestsもサポートしています。
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 extension(curl_*関数)はPHPに組み込まれており、追加の依存関係を必要としません。シンプルなリクエストやオーバーヘッドを最小限に抑えたい場合に最適です。Guzzleは、ミドルウェア、非同期リクエスト、PSR-7/PSR-18のサポート、自動リトライ機能を備えたフル機能のHTTPクライアントです。軽量なスクリプトにはcURLを、複雑なアプリケーションにはGuzzleを使用してください。curl2codeは両方のコードを生成できます。言語ドロップダウンで好みのバリアントを選択してください。