Chuyển đổi curl sang Java
Chuyển đổi các lệnh curl thành mã Java bằng HttpClient API hiện đại. curl2code chạy hoàn toàn trong trình duyệt của bạn thông qua WebAssembly — không có dữ liệu nào rời khỏi thiết bị của bạn. Để phát triển Kotlin, hãy thử trình chuyển đổi curl sang Kotlin của chúng tôi. Đối với C# (.NET), hãy xem curl sang C#. Dưới đây là các ví dụ Java sẵn sàng sử dụng.
Cách sao chép curl từ trình duyệt của bạn
- 1
Mở DevTools
Nhấn F12 hoặc Ctrl+Shift+I để mở công cụ dành cho nhà phát triển của trình duyệt.
- 2
Đi tới tab Network
Nhấp vào tab Network và thực hiện hành động kích hoạt yêu cầu HTTP.
- 3
Sao chép dưới dạng cURL
Nhấp chuột phải vào yêu cầu → Sao chép → Copy as cURL. Sau đó dán nó vào bên trên.
Câu hỏi thường gặp
Java HttpClient là gì?
HttpClient của Java (được giới thiệu trong Java 11) là một HTTP client hiện đại, tích hợp sẵn thay thế cho HttpURLConnection cũ. Nó hỗ trợ HTTP/2, các yêu cầu bất đồng bộ, WebSocket và một API builder dạng fluent. Không cần phụ thuộc bên ngoài. curl2code cũng hỗ trợ OkHttp, Jsoup và HttpURLConnection như các lựa chọn thay thế.
HttpClient so với OkHttp so với HttpURLConnection — nên sử dụng cái nào?
HttpClient (Java 11+) là tiêu chuẩn hiện đại — hãy sử dụng nó cho các dự án mới. OkHttp đã trưởng thành, được sử dụng rộng rãi trong Android, với các interceptor và connection pooling. HttpURLConnection hoạt động trên tất cả các phiên bản Java nhưng khá dài dòng. Đối với Android/Kotlin, hãy xem trình chuyển đổi curl sang Kotlin của chúng tôi. Để có cách tiếp cận hiện đại tương tự, hãy thử curl sang C#.
Làm thế nào để xử lý xác thực trong Java?
Thiết lập header Authorization: request.header("Authorization", "Bearer " + token). Đối với xác thực Basic, mã hóa với Base64.getEncoder().encodeToString((user + ":" + pass).getBytes()). HttpClient cũng hỗ trợ Authenticator để xử lý thông tin xác thực tự động.
Làm thế nào để gửi dữ liệu form multipart trong Java?
HttpClient của Java 11+ yêu cầu xây dựng body multipart thủ công với các chuỗi ranh giới (boundary string). Sử dụng HttpRequest.BodyPublishers.ofString() với các phần được định dạng thủ công. OkHttp đơn giản hóa việc này với MultipartBody.Builder. curl2code tạo mã multipart phù hợp cho thư viện Java bạn đã chọn.
Làm thế nào để xử lý lỗi HTTP trong Java?
Với HttpClient, hãy kiểm tra response.statusCode() sau mỗi yêu cầu — nó không ném ngoại lệ cho các lỗi HTTP. Bao bọc các lời gọi trong try/catch cho IOException (mạng) và InterruptedException (bất đồng bộ). OkHttp ném IOException khi thất bại và cung cấp response.isSuccessful() để kiểm tra trạng thái.
Làm thế nào để thực hiện các yêu cầu HTTP bất đồng bộ trong Java?
HttpClient cung cấp sendAsync() trả về CompletableFuture: client.sendAsync(request, BodyHandlers.ofString()).thenApply(HttpResponse::body). Chuỗi hóa với thenAccept(), thenCompose() hoặc sử dụng CompletableFuture.allOf() cho các yêu cầu song song. OkHttp sử dụng enqueue() với một giao diện Callback.
Làm thế nào để thiết lập timeout trong Java HttpClient?
Thiết lập trên client: HttpClient.newBuilder().connectTimeout(Duration.ofSeconds(10)).build(). Trên mỗi yêu cầu: request.timeout(Duration.ofSeconds(30)). OkHttp sử dụng OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).
Làm thế nào để cấu hình một proxy trong Java?
Với HttpClient: HttpClient.newBuilder().proxy(ProxySelector.of(new InetSocketAddress("proxy", 8080))).build(). OkHttp sử dụng lớp Proxy: new OkHttpClient.Builder().proxy(new Proxy(Proxy.Type.HTTP, address)). Java cũng tuân thủ các cờ JVM -Dhttp.proxyHost. curl2code tự động chuyển đổi các cờ -x.
Làm thế nào để gửi một yêu cầu POST với thân JSON trong Java?
Chuyển đổi một lệnh curl POST như curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL sang Java bằng cách sử dụng curl2code. Mã được tạo sử dụng HttpRequest.newBuilder().POST(BodyPublishers.ofString(jsonString)).build(). curl2code tự động phát hiện các cờ -d/--data với nội dung JSON và thiết lập header Content-Type phù hợp trong mã HttpClient.
Làm thế nào để thêm xác thực Bearer token trong Java?
Cung cấp curl -H "Authorization: Bearer YOUR_TOKEN" URL cho curl2code và nó sẽ tạo mã HttpClient với header xác thực: .header("Authorization", "Bearer YOUR_TOKEN"). curl2code phát hiện Bearer tokens từ cả hai cờ -H "Authorization: Bearer ..." và --oauth2-bearer. Đối với Basic auth, hãy sử dụng -u user:pass.
Làm thế nào để thiết lập header Content-Type trong Java?
curl2code chuyển đổi curl -H "Content-Type: application/json" URL sang mã HttpClient với header chính xác: .header("Content-Type", "application/json"). Đối với dữ liệu -d, curl mặc định là application/x-www-form-urlencoded; đối với tải lên biểu mẫu -F, nó sử dụng multipart/form-data. curl2code ánh xạ từng loại tới HttpClient API chính xác.