curl を PowerShell に変換
Invoke-RestMethod を使用して、curl コマンドを PowerShell コードに変換します。curl2code は WebAssembly を介してブラウザ内で完全に動作するため、データは非公開に保たれます。C# については、curl to C# 変換ツールをお試しください。Python については、curl to Python をご覧ください。以下に、すぐに使える PowerShell の例を掲載しています。
ブラウザから curl をコピーする方法
- 1
デベロッパーツールを開く
F12 キーを押すか、Ctrl+Shift+Iを使用してブラウザのデベロッパーツールを開きます。
- 2
ネットワークタブに移動
ネットワークタブをクリックし、HTTP リクエストをトリガーするアクションを実行します。
- 3
cURL としてコピー
リクエストを右クリック → コピー → cURL としてコピー を選択します。その後、上に貼り付けてください。
よくある質問
PowerShell Invoke-RestMethod とは何ですか?
Invoke-RestMethod は、JSON/XML の自動解析機能を備えた HTTP リクエストを行うための PowerShell 組み込みコマンドレットです。解析されたオブジェクトを直接返すため、手動のデシリアライズは不要です。PowerShell 3.0 以降および PowerShell Core で利用可能です。curl2code は、生のレスポンスを返す Invoke-WebRequest もサポートしています。
Invoke-RestMethod と Invoke-WebRequest のどちらを使うべきですか?
Invoke-RestMethod は JSON/XML レスポンスを PowerShell オブジェクトに自動的に解析するため、API 作業に最適です。Invoke-WebRequest は、ヘッダー、ステータスコード、生のコンテンツを含む完全なレスポンスを返すため、デバッグや JSON 以外のレスポンスに適しています。API には RestMethod を、スクレイピングや診断には WebRequest を使用してください。同様の .NET アプローチについては、curl to C# を参照してください。
PowerShell で認証を処理するにはどうすればよいですか?
Bearer 認証の場合:Invoke-RestMethod -Uri $url -Headers @{ Authorization = "Bearer $token" }。Basic 認証の場合は、-Credential (Get-Credential) または -Authentication Basic (PowerShell 6+) を使用します。PowerShell は SecureString を使用して認証情報を安全に処理します。curl2code は認証フラグを PowerShell コマンドレットのパラメータに変換します。
PowerShell でマルチパートフォームデータを送信するにはどうすればよいですか?
PowerShell 6+ は、マルチパートアップロード用に -Form @{ file = Get-Item "doc.pdf"; desc = "My file" } をサポートしています。Windows PowerShell 5.1 では、マルチパートボディを手動で構築するか、.NET クラス (System.Net.Http.MultipartFormDataContent) を使用します。curl2code は -F フラグの変換を処理します。
PowerShell で HTTP エラーを処理するにはどうすればよいですか?
try/catch を使用します。どちらのコマンドレットも 2xx 以外のレスポンスで WebException をスローします。$_.Exception.Response でレスポンスにアクセスできます。PowerShell 7+ では、-SkipHttpErrorCheck を使用してスローを防止し、代わりに $response.StatusCode を手動で確認できます。
PowerShell で JSON を扱うにはどうすればよいですか?
Invoke-RestMethod は JSON を PSObject に自動的に解析します。手動で変換する場合:$data = $json | ConvertFrom-Json。JSON を送信する場合:$body = @{ name = "John" } | ConvertTo-Json。PowerShell のオブジェクトパイプラインは、フィルタリングや変換のために、解析された API レスポンスと自然に統合されます。
PowerShell でタイムアウトを設定するにはどうすればよいですか?
両方のコマンドレットで -TimeoutSec 30 パラメータを使用します。PowerShell 7+ では、きめ細かな制御のために -ConnectionTimeoutSeconds と -OperationTimeoutSeconds を使用します。リトライには、-MaximumRetryCount 3 と -RetryIntervalSec 2 (PowerShell 7.1+) を使用します。
PowerShell でプロキシを使用するにはどうすればよいですか?
-Proxy 'http://proxy:8080' パラメータを使用します。プロキシ認証の場合:-ProxyCredential (Get-Credential)。PowerShell は Windows のシステム全体のプロキシ設定をデフォルトで尊重します。バイパスするには:-NoProxy (PowerShell 6+)。curl2code は -x フラグを PowerShell のプロキシパラメータに変換します。
PowerShellでJSONボディを含むPOSTリクエストを送信する方法は?
curl2codeを使用して、curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URLのようなcurlのPOSTコマンドをPowerShellに変換します。生成されたコードではInvoke-RestMethod -Uri $url -Method Post -Body ($data | ConvertTo-Json) -ContentType 'application/json'を使用します。curl2codeはJSONコンテンツを含む-d/--dataフラグを自動的に検出し、Invoke-RestMethodのコードに適切なContent-Typeヘッダーを設定します。
PowerShellでBearerトークン認証を追加する方法は?
curl -H "Authorization: Bearer YOUR_TOKEN" URLをcurl2codeに渡すと、認証ヘッダー-Headers @{ Authorization = 'Bearer YOUR_TOKEN' }を含むInvoke-RestMethodのコードが生成されます。curl2codeは-H "Authorization: Bearer ..."と--oauth2-bearerフラグの両方からBearerトークンを検出します。Basic authの場合は、-u user:passを使用してください。
PowerShellでContent-Typeヘッダーを設定する方法は?
curl2codeはcurl -H "Content-Type: application/json" URLを、適切なヘッダー-ContentType 'application/json'を含むInvoke-RestMethodのコードに変換します。-dデータの場合、curlはデフォルトでapplication/x-www-form-urlencodedを使用し、-Fフォームアップロードの場合はmultipart/form-dataを使用します。curl2codeはそれぞれを正しいInvoke-RestMethod APIにマッピングします。