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

Конвертирайте curl команди в Java код, използвайки модерния HttpClient API. 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?

HttpClient на Java (въведен в Java 11) е модерен, вграден HTTP клиент, който заменя остарелия HttpURLConnection. Той поддържа HTTP/2, асинхронни заявки, WebSocket и плавен builder 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 данни в Java?

HttpClient в Java 11+ изисква ръчно конструиране на 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 също така зачита -Dhttp.proxyHost JVM флаговете. 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 токени както от -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 свързва всеки от тях с правилния HttpClient API.

Полезни връзки

Ръководства за curl

Конвертиране на curl в други езици