curl を Kotlin に変換
curl2code は、OkHttp を使用して curl コマンドを Kotlin コードに変換します。変換は完全なプライバシー保護のため、WebAssembly を介してブラウザ内で実行されます。Java については、curl to Java 変換ツールをご確認ください。Swift (iOS) については、curl to Swift をご覧ください。以下に、実用的な Kotlin の例を示します。
ブラウザから curl をコピーする方法
- 1
デベロッパーツールを開く
F12 キーを押すか、Ctrl+Shift+Iを使用してブラウザのデベロッパーツールを開きます。
- 2
ネットワークタブに移動
ネットワークタブをクリックし、HTTP リクエストをトリガーするアクションを実行します。
- 3
cURL としてコピー
リクエストを右クリック → コピー → cURL としてコピー を選択します。その後、上に貼り付けてください。
よくある質問
Kotlin OkHttpとは何ですか?
OkHttpは、Square社によって開発された、KotlinおよびJavaで広く使用されているHTTPクライアントです。コネクションプーリング、透過的なGZIP、レスポンスキャッシュ、およびHTTP/2サポートを特徴としています。implementation("com.squareup.okhttp3:okhttp:4.x")で追加します。これはcurl2codeがKotlin変換に使用するデフォルトのライブラリであり、Androidの標準的なHTTPクライアントです。
OkHttp、Ktor Client、Fuelのどれを使うべきですか?
OkHttpは、特にAndroidにおいて業界標準です。Ktor ClientはKotlinファーストで、コルーチンをサポートし、マルチプラットフォームに対応しています。Fuelは軽量で、クリーンなKotlin DSLを備えています。Androidの場合、OkHttp(多くの場合Retrofit経由)がデフォルトの選択肢です。JVMの比較については、curl to Java コンバーターを参照してください。
Kotlinで認証を処理するにはどうすればよいですか?
ヘッダーを追加します:request.addHeader("Authorization", "Bearer $token")。Basic認証の場合は、Credentials.basic(user, pass)ユーティリティを使用します。OkHttpは、401レスポンス時に認証情報を使用して自動リトライを行うためのAuthenticatorインターフェースもサポートしています。curl2codeは、-uおよびBearerフラグを自動的に処理します。
Kotlinでマルチパートフォームデータを送信するにはどうすればよいですか?
OkHttpのMultipartBody.Builder()を使用します。ファイルには.addFormDataPart("file", filename, fileBody)を、フィールドには.addFormDataPart("key", "value")を使用します。.setType(MultipartBody.FORM)を設定してください。curl2codeは、-Fフラグを適切なOkHttpマルチパートビルダーコードに変換します。
KotlinでHTTPエラーを処理するにはどうすればよいですか?
2xxステータスの場合はresponse.isSuccessfulを確認するか、response.codeを読み取ります。OkHttpはネットワーク障害時にIOExceptionをスローします。クリーンなエラー処理のために、KotlinのrunCatching { }またはtry/catchを使用してください。リソースリークを防ぐため、常に.use { }ブロックでレスポンスボディを閉じてください。
OkHttpでコルーチンを使用するにはどうすればよいですか?
ブロッキングするOkHttp呼び出しをwithContext(Dispatchers.IO) { client.newCall(request).execute() }でラップします。または、真の非同期処理のためにsuspendCancellableCoroutineとenqueue()拡張機能を使用します。Ktor Clientにはネイティブのコルーチンサポートが組み込まれています。同様の非同期パターンについては、curl to Swift (async/await)を参照してください。
Kotlin OkHttpでタイムアウトを設定するにはどうすればよいですか?
クライアントで設定します:OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).writeTimeout(30, TimeUnit.SECONDS).build()。リトライについては、失敗時にリトライするインターセプターを追加します。これらはcurlの--connect-timeoutおよび--max-timeに対応します。
OkHttpでプロキシを使用するにはどうすればよいですか?
クライアントビルダーで設定します:OkHttpClient.Builder().proxy(Proxy(Proxy.Type.HTTP, InetSocketAddress("proxy", 8080))).build()。認証が必要な場合は、proxyAuthenticatorを追加します。OkHttpはProxy.Type.SOCKSによるSOCKSプロキシもサポートしています。curl2codeは、-xフラグをこの構成に変換します。
KotlinでJSONボディを含むPOSTリクエストを送信する方法は?
curl2codeを使用して、curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URLのようなcurlのPOSTコマンドをKotlinに変換します。生成されたコードではRequestBody.create(MediaType.parse("application/json"), json)を使用します。curl2codeはJSONコンテンツを含む-d/--dataフラグを自動的に検出し、OkHttpのコードに適切なContent-Typeヘッダーを設定します。
KotlinでBearerトークン認証を追加する方法は?
curl -H "Authorization: Bearer YOUR_TOKEN" URLをcurl2codeに渡すと、認証ヘッダー.addHeader("Authorization", "Bearer YOUR_TOKEN")を含むOkHttpのコードが生成されます。curl2codeは-H "Authorization: Bearer ..."と--oauth2-bearerフラグの両方からBearerトークンを検出します。Basic authの場合は、-u user:passを使用してください。
KotlinでContent-Typeヘッダーを設定する方法は?
curl2codeはcurl -H "Content-Type: application/json" URLを、適切なヘッダー.addHeader("Content-Type", "application/json")を含むOkHttpのコードに変換します。-dデータの場合、curlはデフォルトでapplication/x-www-form-urlencodedを使用し、-Fフォームアップロードの場合はmultipart/form-dataを使用します。curl2codeはそれぞれを正しいOkHttp APIにマッピングします。