cURL → Java
Java HTTP Client Generator

cURLからJavaへの変換ガイド(Java 11+ HttpClient、OkHttp & Spring WebClient)

cURLコマンドを標準のjava.net.http.HttpClient、OkHttp3、Spring WebClientのプロダクション品質なJavaコードへ瞬時に変換します。

100% Client-Side Privacy
Zero Server Transmission
Presets:
cURLコマンド入力
// Java 11+ Native java.net.http.HttpClient
// Built into JDK 11, 17, 21+ standard library — zero external dependencies required!

package com.example.client;

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;

public class HttpClientExample {

    public static void main(String[] args) {
    try {
        // 1. Configure and build HttpClient
        HttpClient client = HttpClient.newBuilder()
            .version(HttpClient.Version.HTTP_2)
            .connectTimeout(Duration.ofSeconds(30))
            .build();

        // 2. Prepare request payload
        String requestBody = "{\"title\": \"Bug in auth session\", \"body\": \"Need to verify token expiration handling\", \"labels\": [\"bug\", \"priority\"]}";

        // 3. Build HttpRequest
        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("https://api.github.com/repos/octocat/Hello-World/issues"))
            .timeout(Duration.ofSeconds(30))
            .header("Accept", "application/vnd.github+json")
            .header("Authorization", "Bearer gho_16C7e42F292c6912E7710c838347Ae178B4a")
            .header("X-GitHub-Api-Version", "2022-11-28")
            .header("Content-Type", "application/json")
            .POST(HttpRequest.BodyPublishers.ofString(requestBody));
        HttpRequest request = requestBuilder.build();

        // Synchronous execution
        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

        System.out.println("Status Code: " + response.statusCode());
        System.out.println("Response Body:\n" + response.body());
    } catch (Exception e) {
        System.err.println("HTTP Client Error: " + e.getMessage());
        e.printStackTrace();
    }
    }
}
HTTPメソッド・プロトコル
POSTHTTPS
対象ホスト・ルート
https://api.github.com
0 query params
ヘッダー・ペイロード
4 headers • BEARER Auth
JSON Payload (115 B)

100% クライアントサイド変換

cURL構文の解析、引数のトークン化、Javaソースの生成はすべてブラウザのメモリ内で完結し、サーバー通信は一切行われません。

モダンJava 11+ & エンタープライズエコシステム

ターミナルコマンドを標準のjava.net.http.HttpClient、OkHttp 3/4、Spring WebClient (リアクティブ)、Spring RestTemplate、Apache HttpClient 5向けにトランスパイルします。

完全なオプション・認証の互換性

ヘッダー(-H)、Bearer/Basic認証(-u)、タイムアウト(-m)、SSL検証無効(-k)、リダイレクト(-L)、複雑なJSONペイロードを自然なJava構文へ正確にマッピングします。

技術リファレンス&アーキテクチャガイド

cURLからJavaへの変換ガイド(Java 11+ HttpClient、OkHttp & Spring WebClient) — リファレンスガイド

cURLコマンドを標準のjava.net.http.HttpClient、OkHttp3、Spring WebClientのプロダクション品質なJavaコードへ瞬時に変換します。

主要パラメータ&設定項目

clientTargetstring

出力先のJava HTTPクライアントライブラリ:java.net.http.HttpClient(Java 11以降)、Square OkHttp3、またはSpring 5/6 WebClient。

初期値: HttpClient (Java 11+)
timeoutSecondsinteger

クライアントビルダーに設定する接続およびリクエストのタイムアウト秒数。

初期値: 10
asyncModeboolean

CompletableFutureまたはProject ReactorのMono/Fluxを使用した非同期ノンブロッキング呼び出しコードを生成します。

初期値: false
cleanDevToolsboolean

ブラウザの開発者ツール由来の疑似ヘッダー(:authority、:method、:path、:scheme)を除去し、IllegalArgumentExceptionを防ぎます。

初期値: true

プロの活用テクニック&推奨設定

HttpClientはシングルトンインスタンスとして再利用する

HttpClientやOkHttpClientはリクエストごとに生成せず、アプリケーション内で単一の静的インスタンスとして共有してください。都度生成すると余計なスレッドプールや接続管理、SSLセッションが発生し、ソケット枯渇やメモリ消費を招きます。

BodyPublishersでは明示的にUTF-8を指定する

Java 11+のHttpClientでJSONや文字列を送信する際は、HttpRequest.BodyPublishers.ofString(jsonString, StandardCharsets.UTF_8)のように文字セットを必ず明示してください。省略するとシステムのデフォルト文字コードが使用され、マルチバイト文字化けの原因になります。

高スループット環境ではsendAsync()とCompletableFutureを活用する

マイクロサービス等のI/O負荷が高い環境では、同期ブロッキングなsend()ではなくclient.sendAsync(request, HttpResponse.BodyHandlers.ofString())を使用します。thenApply()などで後続処理を繋ぐことで、ワーカースレッドを有効活用できます。

よくあるトラブルと解決策

java.lang.IllegalArgumentException: restricted header name or invalid colon character

Java 11+のHttpClientはコロンで始まる疑似ヘッダー(:authority等)やシステム制御ヘッダー(Connection、Host等)の設定を制限しています。「DevToolsヘッダーの自動除去」を有効にして不要なヘッダーを除去してください。

リクエストがタイムアウト例外を投げずに停止(ハング)する

Java 11+のHttpClientにはデフォルトのタイムアウトが存在しません。HttpClient.newBuilder().connectTimeout(Duration.ofSeconds(10))およびHttpRequest.newBuilder().timeout(Duration.ofSeconds(10))を明示的に設定してください。

送信先サーバーからHTTP 415 Unsupported Media Typeが返される

リクエストのヘッダーに header("Content-Type", "application/json; charset=utf-8") が正しく設定されているか確認してください。

よくある質問 (FAQ)

Java 11+ HttpClient、OkHttp、Spring WebClientはどのように使い分けるべきですか?▼

外部依存関係のないクリーンなJava 11以降のプロジェクトでは標準のjava.net.http.HttpClientが最適です。Android開発や高度なインターセプター制御が必要な場合はOkHttp3、Spring Boot 2/3環境でリアクティブスタック(Mono/Flux)を運用する場合はSpring WebClientを選択してください。

cURLのBasic認証(-u user:password)はJavaでどのように変換されますか?▼

Java 11+ HttpClientではクライアント側のAuthenticatorを設定するか、header("Authorization", "Basic " + Base64.getEncoder().encodeToString("user:password".getBytes(StandardCharsets.UTF_8)))として明示的にヘッダーを付与します。OkHttpではCredentials.basic()を使用します。

multipart/form-dataによるファイルアップロードはどのように変換されますか?▼

OkHttpではMultipartBody.Builderが使用されます。Java 11+ HttpClientでは境界文字列(boundary)とHttpRequest.BodyPublishers.ofFile(path)を組み合わせたRFC準拠のマルチパートパブリッシャーヘルパーコードが生成されます。

入力したcURLコマンドや認証情報が外部サーバーへ送信されることはありますか?▼

一切ありません。コマンドの解析、ヘッダーの正規化、Javaコードの生成処理はすべてお使いのブラウザ内部で完結して実行されます。サーバーへの通信やデータ収集は行われません。

関連するおすすめ開発ツール

すべてのツール →
JSON から XML Schema (XSD) 定義ジェネレーター 開発者ガイドdeveloper

サンプルJSONからXMLスキーマ定義(XSD)の型構造、複合要素(complexType)、属性、出現頻度(minOccurs/maxOccurs)を高精度に自動推論。

ツールを開く→
インタラクティブ .gitignore ファイル生成ツール (Node, Python, Go, Rust, Java) 開発者ガイドdeveloper

OS、IDE、および50以上の主要プログラミング言語の除外ルールを組み合わせ、包括的な .gitignore テンプレートを瞬時に生成します。

ツールを開く→
Crontab構文&Quartzスケジュール式 チートシートdeveloper

5フィールドPOSIX規格および6フィールドQuartz形式のcron式完全リファレンス。特殊マクロ、実行周期計算、多重起動防止策を徹底解説。

ツールを開く→
JavaScript正規表現(RegEx)構文仕様・チートシートdeveloper

ECMAScript準拠の正規表現構文、キャプチャグループ(名前付き・非キャプチャ)、置換トークン($1, $&)、先読み・後読みの技術解説。

ツールを開く→
URLエンコード・デコードツールdeveloper

RFC 3986厳格規格、encodeURIComponent、encodeURI、formUrlEncodedに対応した高速・安全な双方向URL変換ツール。

ツールを開く→
HTML実体参照エンコード・デコードツールdeveloper

名前付き実体参照、10進数参照、16進数参照を相互変換し、XSS攻撃を防ぎ特殊記号を正しく表示する高速エスケープツール。

ツールを開く→