Tukar curl ke Java

Tukar arahan curl kepada kod Java menggunakan API HttpClient moden. curl2code berjalan sepenuhnya dalam pelayar anda melalui WebAssembly — tiada data meninggalkan peranti anda. Untuk pembangunan Kotlin, cuba penukar curl ke Kotlin kami. Untuk C# (.NET), lihat curl ke C#. Di bawah adalah contoh Java yang sedia untuk digunakan.

Cara menyalin curl daripada pelayar anda

  1. 1

    Buka DevTools

    Tekan F12 atau Ctrl+Shift+I untuk membuka alat pembangun pelayar anda.

  2. 2

    Pergi ke tab Network

    Klik tab Network dan lakukan tindakan yang mencetuskan permintaan HTTP.

  3. 3

    Salin sebagai cURL

    Klik kanan pada permintaan → CopyCopy as cURL. Kemudian tampalkannya di atas.

Soalan Lazim

Apakah itu Java HttpClient?

HttpClient Java (diperkenalkan dalam Java 11) ialah klien HTTP moden terbina dalam yang menggantikan HttpURLConnection legasi. Ia menyokong HTTP/2, permintaan asinkron, WebSocket, dan API pembina fasih (fluent builder API). Tiada kebergantungan luaran diperlukan. curl2code juga menyokong OkHttp, Jsoup, dan HttpURLConnection sebagai alternatif.

HttpClient vs OkHttp vs HttpURLConnection — yang mana patut digunakan?

HttpClient (Java 11+) ialah standard moden — gunakannya untuk projek baharu. OkHttp adalah matang, digunakan secara meluas dalam Android, dengan pemintas dan penyatuan sambungan. HttpURLConnection berfungsi pada semua versi Java tetapi verbose. Untuk Android/Kotlin, lihat penukar curl ke Kotlin. Untuk pendekatan moden yang serupa, cuba curl ke C#.

Bagaimana cara mengendalikan pengesahan dalam Java?

Tetapkan pengepala Authorization: request.header("Authorization", "Bearer " + token). Untuk pengesahan Basic, kodkan dengan Base64.getEncoder().encodeToString((user + ":" + pass).getBytes()). HttpClient juga menyokong Authenticator untuk pengendalian kelayakan automatik.

Bagaimana cara menghantar data borang multipart dalam Java?

HttpClient Java 11+ memerlukan pembinaan badan multipart manual dengan rentetan sempadan. Gunakan HttpRequest.BodyPublishers.ofString() dengan bahagian yang diformat secara manual. OkHttp memudahkan ini dengan MultipartBody.Builder. curl2code menghasilkan kod multipart yang sesuai untuk pustaka Java pilihan anda.

Bagaimana cara mengendalikan ralat HTTP dalam Java?

Dengan HttpClient, semak response.statusCode() selepas setiap permintaan — ia tidak melemparkan ralat pada ralat HTTP. Balut panggilan dalam try/catch untuk IOException (rangkaian) dan InterruptedException (asinkron). OkHttp melemparkan IOException pada kegagalan dan menyediakan response.isSuccessful() untuk semakan status.

Bagaimana cara membuat permintaan HTTP asinkron dalam Java?

HttpClient menyediakan sendAsync() yang mengembalikan CompletableFuture: client.sendAsync(request, BodyHandlers.ofString()).thenApply(HttpResponse::body). Rantaikan dengan thenAccept(), thenCompose(), atau gunakan CompletableFuture.allOf() untuk permintaan selari. OkHttp menggunakan enqueue() dengan antara muka Callback.

Bagaimana cara menetapkan had masa tamat dalam Java HttpClient?

Tetapkan pada klien: HttpClient.newBuilder().connectTimeout(Duration.ofSeconds(10)).build(). Bagi setiap permintaan: request.timeout(Duration.ofSeconds(30)). OkHttp menggunakan OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).

Bagaimana cara mengkonfigurasi proksi dalam Java?

Dengan HttpClient: HttpClient.newBuilder().proxy(ProxySelector.of(new InetSocketAddress("proxy", 8080))).build(). OkHttp menggunakan kelas Proxy: new OkHttpClient.Builder().proxy(new Proxy(Proxy.Type.HTTP, address)). Java juga menghormati bendera JVM -Dhttp.proxyHost. curl2code menukar bendera -x secara automatik.

Bagaimana cara menghantar permintaan POST dengan badan JSON dalam Java?

Tukar perintah curl POST seperti curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL ke Java menggunakan curl2code. Kod yang dihasilkan menggunakan HttpRequest.newBuilder().POST(BodyPublishers.ofString(jsonString)).build(). curl2code mengesan bendera -d/--data secara automatik dengan kandungan JSON dan menetapkan pengepala Content-Type yang sesuai dalam kod HttpClient.

Bagaimana cara menambah kebenaran token Bearer dalam Java?

Masukkan curl -H "Authorization: Bearer YOUR_TOKEN" URL ke curl2code dan ia akan menghasilkan kod HttpClient dengan pengepala auth: .header("Authorization", "Bearer YOUR_TOKEN"). curl2code mengesan token Bearer daripada kedua-dua bendera -H "Authorization: Bearer ..." dan --oauth2-bearer. Untuk Basic auth, gunakan -u user:pass.

Bagaimana cara menetapkan pengepala Content-Type dalam Java?

curl2code menukar curl -H "Content-Type: application/json" URL kepada kod HttpClient dengan pengepala yang betul: .header("Content-Type", "application/json"). Untuk data -d, curl secara lalai menggunakan application/x-www-form-urlencoded; untuk muat naik borang -F, ia menggunakan multipart/form-data. curl2code memetakan setiap satu ke API HttpClient yang betul.

Pautan Berguna

Panduan curl

Tukar curl ke Bahasa Lain