cURL в Java
Вставьте команду curl и получите код HttpClient для Java 11, который компилируется только с помощью JDK.
Конвертер cURL в Java полностью работает в вашем браузере: вставленные команды вместе с токенами конвертируются на устройстве и не отправляются.
Открыть конвертер cURL в C#
Об инструменте cURL в Java
В Java 11 наконец появился достойный HTTP-клиент, и это убрало главную причину использовать OkHttp или Apache только ради повторения команды curl. Строитель запросов написан аккуратно, но у него есть правила: GET и DELETE не принимают тело, POST и PUT принимают, а любой другой метод — включая PATCH — идёт через общий вызов. Ошибка здесь либо не даёт коду скомпилироваться, либо незаметно теряет тело запроса. Этот конвертер разбирает параметры curl и создаёт код, соблюдающий эти правила, с нужными импортами и корректно закодированным -u.
Возможности
- Генерация кода java.net.http, который компилируется только с JDK
- Правильный вызов строителя для каждого метода, включая PATCH
- DELETE с телом автоматически переходит на общую форму вызова
- Тело через BodyPublishers.ofString с корректным экранированием
- Базовая аутентификация через java.util.Base64 вместо ручного заголовка
- Импорты добавляются только под то, что реально использует запрос
Как использовать cURL в Java
- Вставьте команду curl с заголовками и телом
- Читайте сгенерированный код Java по мере ввода
- Скопируйте код или скачайте Main.java
- Скомпилируйте любым JDK версии 11 и выше — больше ничего не нужно
Пример
Ввод
curl -X PATCH https://api.example.com/users/1 -d '{"role":"admin"}'
Результат
.method("PATCH", HttpRequest.BodyPublishers.ofString("{\"role\":\"admin\"}"))
У строителя запросов нет короткого пути для PATCH, поэтому используется method() — деталь, которую легко упустить при ручном переносе.
Частые ошибки и устранение неполадок
- У строителя запросов нет метода .PATCH(). — Верно: короткие пути есть только для GET, POST, PUT и DELETE. Остальное использует method(имя, publisher), как и в сгенерированном коде.
- DELETE с телом теряет полезную нагрузку. — DELETE() не принимает publisher, поэтому тело отбрасывается. При наличии данных конвертер переключается на method("DELETE", …).
Часто задаваемые вопросы
- Как конвертировать curl в Java?
- Вставьте команду выше: метод, URL, заголовки и тело превратятся в запрос java.net.http с подходящим вызовом.
- Нужны ли сгенерированному коду зависимости?
- Нет. Он использует java.net.http, входящий в состав JDK начиная с Java 11, поэтому компилируется без ничего в classpath.
- Как отправить запрос PATCH в Java?
- Через общий вызов: .method("PATCH", HttpRequest.BodyPublishers.ofString(body)), так как отдельного короткого пути для него нет.
- Отправляется ли запрос при конвертации?
- Нет. Инструмент только переписывает текст: ничего не выполняется, и конвертация происходит в вашем браузере.
Связанные инструменты
- cURL в Fetch — Преобразуйте команду curl в вызов fetch() на JavaScript.
- curl в Python — Преобразование команды curl в скрипт Python requests.
- cURL в C# — Конвертирует команду curl в код C# с HttpClient.
- curl в Go — Преобразование команды curl в код Go net/http.
- cURL в Rust — Преобразует команду curl в код Rust с reqwest.
- API-клиент — Отправляйте HTTP-запросы, задавайте заголовки и параметры и изучайте ответы; сохраняет последние 25.
Все инструменты ArrayKit