Конвертиране на curl в Java
Конвертирайте curl команди в Java код, използвайки модерния HttpClient API. curl2code работи изцяло във вашия браузър чрез WebAssembly — никакви данни не напускат устройството ви. За разработка на Kotlin опитайте нашия curl към Kotlin конвертор. За C# (.NET) вижте curl към C#. По-долу са дадени готови за употреба Java примери.
Как да копирате curl от вашия браузър
- 1
Отворете DevTools
Натиснете F12 или Ctrl+Shift+I, за да отворите инструментите за разработчици на вашия браузър.
- 2
Отидете в раздела Network
Кликнете върху раздела Network и извършете действието, което задейства HTTP заявката.
- 3
Копирайте като cURL
Кликнете с десния бутон върху заявката → Copy → Copy 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
Справка за всеки изходен код на curl — причини, решения и съвети за отстраняване на грешки.
Изтегляне на файлове с curl
Запазвайте файлове с -o, -O, следвайте пренасочвания, възобновявайте изтегляния и още.
SSL, TLS и прокси
Конфигурирайте сертификати, версии на TLS, HTTP/SOCKS проксита и персонализиран DNS.