curl を Perl に変換
LWP::UserAgent を使用して、curl コマンドを Perl コードに変換します。curl2code は WebAssembly を介してブラウザ内で完全に動作するため、データは非公開に保たれます。Python については、curl to Python 変換ツールをお試しください。Ruby については、curl to Ruby をご覧ください。以下に、すぐに使える Perl の例を掲載しています。
ブラウザから curl をコピーする方法
- 1
デベロッパーツールを開く
F12 キーを押すか、Ctrl+Shift+Iを使用してブラウザのデベロッパーツールを開きます。
- 2
ネットワークタブに移動
ネットワークタブをクリックし、HTTP リクエストをトリガーするアクションを実行します。
- 3
cURL としてコピー
リクエストを右クリック → コピー → cURL としてコピー を選択します。その後、上に貼り付けてください。
よくある質問
Perl LWPとは何ですか?
LWP (Library for WWW in Perl) は、Perlの標準的なHTTPクライアントライブラリです。LWP::UserAgentモジュールは、クッキー処理、リダイレクト、プロキシサポート、およびSSLを備えたフル機能のクライアントを提供します。cpan LWPまたはapt install libwww-perlでインストールします。curl2codeは、Perl変換のデフォルトとしてLWPを使用します。
LWP、HTTP::Tiny、Mojo::UserAgentのどれを使うべきですか?
LWPは機能が豊富で、伝統的な選択肢です。HTTP::Tinyはコアモジュール(インストール不要)であり、シンプルなリクエストに最適です。Mojo::UserAgentはモダンで、非同期サポートやWebSocketを備えています。クイックスクリプトにはHTTP::Tinyを、フル機能が必要な場合はLWPを使用してください。同様のスクリプト言語については、curl to Pythonまたはcurl to Rubyを参照してください。
Perlで認証を処理するにはどうすればよいですか?
LWPの場合:$ua->default_header('Authorization' => 'Bearer token')。Basic認証の場合:$ua->credentials('host:port', 'realm', 'user', 'pass')。または、HTTP::Requestオブジェクトでリクエストごとにヘッダーを設定します。curl2codeは、-uおよび-H 'Authorization'フラグをPerlの構文に変換します。
Perlでマルチパートフォームデータを送信するにはどうすればよいですか?
HTTP::Request::Commonを使用します:POST($url, Content_Type => 'form-data', Content => [file => ['path/file.pdf']])。LWPはマルチパートのバウンダリを自動的に処理します。追加のフィールドについては、Content配列にキーと値のペアを追加します。curl2codeは、-Fフラグをこの形式に変換します。
PerlでHTTPエラーを処理するにはどうすればよいですか?
各リクエストの後に$response->is_successを確認してください。エラーの詳細については、$response->status_lineがステータスコードとメッセージを返します。LWPはエラー時でもレスポンスオブジェクトを返します。HTTPステータスについては$response->codeを確認してください。エラー報告にはdieまたはwarnを使用します。
PerlでJSONを解析するにはどうすればよいですか?
JSONモジュールを使用します:my $data = decode_json($response->content)。エンコードにはmy $json = encode_json($hashref)を使用します。cpan JSONでインストールします。Perl 5.14以降の場合は、JSON::PP(コアモジュール、インストール不要)を検討してください。よりJSON中心のツールについては、curl to Goを参照してください。
Perl LWPでタイムアウトを設定するにはどうすればよいですか?
UserAgentで設定します:my $ua = LWP::UserAgent->new(timeout => 30)。これにより、リクエスト全体のタイムアウトが秒単位で設定されます。接続タイムアウトを個別に設定するには、IO::Socket::SSLオプションを使用します。LWPのリトライ機能は組み込まれていないため、手動で実装するか、LWP::UserAgent::Determinedを使用してください。
Perlでプロキシを使用するにはどうすればよいですか?
UserAgentで設定します:$ua->proxy(['http', 'https'], 'http://proxy:8080')。または環境変数を使用します:$ua->env_proxyはHTTP_PROXYおよびHTTPS_PROXYを読み取ります。プロキシを除外するには:$ua->no_proxy('localhost', '.internal')。curl2codeは、-xフラグをLWPのプロキシ呼び出しに変換します。
PerlでJSONボディを含むPOSTリクエストを送信する方法は?
curl2codeを使用して、curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URLのようなcurlのPOSTコマンドをPerlに変換します。生成されたコードでは$ua->post($url, Content_Type => 'application/json', Content => encode_json($data))を使用します。curl2codeはJSONコンテンツを含む-d/--dataフラグを自動的に検出し、LWP::UserAgentのコードに適切なContent-Typeヘッダーを設定します。
PerlでBearerトークン認証を追加する方法は?
curl -H "Authorization: Bearer YOUR_TOKEN" URLをcurl2codeに渡すと、認証ヘッダー$req->header('Authorization' => 'Bearer YOUR_TOKEN')を含むLWP::UserAgentのコードが生成されます。curl2codeは-H "Authorization: Bearer ..."と--oauth2-bearerフラグの両方からBearerトークンを検出します。Basic authの場合は、-u user:passを使用してください。
PerlでContent-Typeヘッダーを設定する方法は?
curl2codeはcurl -H "Content-Type: application/json" URLを、適切なヘッダー$req->header('Content-Type' => 'application/json')を含むLWP::UserAgentのコードに変換します。-dデータの場合、curlはデフォルトでapplication/x-www-form-urlencodedを使用し、-Fフォームアップロードの場合はmultipart/form-dataを使用します。curl2codeはそれぞれを正しいLWP::UserAgent APIにマッピングします。