Конвертировать curl в Java

Конвертируйте команды curl в код Java с помощью современного API HttpClient. curl2code работает полностью в вашем браузере через WebAssembly — никакие данные не покидают ваше устройство. Для разработки на Kotlin попробуйте наш конвертер curl в Kotlin. Для C# (.NET) см. curl в C#. Ниже приведены готовые примеры на Java.

Как скопировать curl из браузера

  1. 1

    Откройте DevTools

    Нажмите F12 или Ctrl+Shift+I, чтобы открыть инструменты разработчика в браузере.

  2. 2

    Перейдите на вкладку Network

    Нажмите на вкладку Network и выполните действие, которое инициирует HTTP-запрос.

  3. 3

    Скопируйте как cURL

    Нажмите правой кнопкой мыши на запрос → CopyCopy as cURL. Затем вставьте его выше.

Часто задаваемые вопросы

Что такое Java HttpClient?

Java HttpClient (введенный в Java 11) — это современный встроенный HTTP-клиент, заменяющий устаревший HttpURLConnection. Он поддерживает HTTP/2, асинхронные запросы, WebSocket и текучий (fluent) API построителя. Внешние зависимости не требуются. curl2code также поддерживает OkHttp, Jsoup и HttpURLConnection в качестве альтернатив.

HttpClient против OkHttp против HttpURLConnection — что использовать?

HttpClient (Java 11+) — это современный стандарт, используйте его для новых проектов. OkHttp — зрелая библиотека, широко используемая в Android, с интерцепторами и пулом соединений. HttpURLConnection работает на всех версиях Java, но очень многословен. Для Android/Kotlin см. наш конвертер curl в Kotlin. Для аналогичного современного подхода попробуйте curl в C#.

Как обрабатывать аутентификацию в Java?

Установите заголовок Authorization: request.header("Authorization", "Bearer " + token). Для Basic-аутентификации закодируйте с помощью Base64.getEncoder().encodeToString((user + ":" + pass).getBytes()). HttpClient также поддерживает Authenticator для автоматической обработки учетных данных.

Как отправить multipart form data в Java?

Java 11+ HttpClient требует ручного построения тела multipart со строками-разделителями. Используйте HttpRequest.BodyPublishers.ofString() с частями, отформатированными вручную. OkHttp упрощает это с помощью MultipartBody.Builder. curl2code генерирует соответствующий код multipart для выбранной вами библиотеки Java.

Как обрабатывать ошибки HTTP в Java?

С HttpClient проверяйте response.statusCode() после каждого запроса — он не выбрасывает исключения при ошибках HTTP. Оборачивайте вызовы в try/catch для IOException (сеть) и InterruptedException (асинхронность). OkHttp выбрасывает IOException при сбоях и предоставляет response.isSuccessful() для проверки статуса.

Как делать асинхронные HTTP-запросы в Java?

HttpClient предоставляет sendAsync(), возвращающий CompletableFuture: client.sendAsync(request, BodyHandlers.ofString()).thenApply(HttpResponse::body). Соединяйте в цепочки с thenAccept(), thenCompose() или используйте CompletableFuture.allOf() для параллельных запросов. OkHttp использует enqueue() с интерфейсом Callback.

Как установить таймауты в Java HttpClient?

Установите на клиенте: HttpClient.newBuilder().connectTimeout(Duration.ofSeconds(10)).build(). Для конкретного запроса: request.timeout(Duration.ofSeconds(30)). OkHttp использует OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).

Как настроить прокси в Java?

С HttpClient: HttpClient.newBuilder().proxy(ProxySelector.of(new InetSocketAddress("proxy", 8080))).build(). OkHttp использует класс Proxy: new OkHttpClient.Builder().proxy(new Proxy(Proxy.Type.HTTP, address)). Java также учитывает флаги JVM -Dhttp.proxyHost. curl2code автоматически конвертирует флаги -x.

Как отправить POST-запрос с телом JSON на Java?

Преобразуйте команду curl POST, такую как curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL, в Java с помощью curl2code. Сгенерированный код использует HttpRequest.newBuilder().POST(BodyPublishers.ofString(jsonString)).build(). curl2code автоматически обнаруживает флаги -d/--data с содержимым JSON и устанавливает соответствующий заголовок Content-Type в коде HttpClient.

Как добавить авторизацию через Bearer token на Java?

Передайте curl -H "Authorization: Bearer YOUR_TOKEN" URL в curl2code, и инструмент сгенерирует код HttpClient с заголовком авторизации: .header("Authorization", "Bearer YOUR_TOKEN"). curl2code распознает Bearer tokens как в флагах -H "Authorization: Bearer ...", так и в --oauth2-bearer. Для Basic auth используйте -u user:pass.

Как установить заголовок Content-Type на Java?

curl2code преобразует curl -H "Content-Type: application/json" URL в код HttpClient с правильным заголовком: .header("Content-Type", "application/json"). Для данных -d curl по умолчанию использует application/x-www-form-urlencoded; для загрузки форм -F используется multipart/form-data. curl2code сопоставляет каждый вариант с подходящим API HttpClient.

Полезные ссылки

Руководства по curl

Конвертировать curl в другие языки