แปลง 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 จากนั้นนำมาวางด้านบน

คำถามที่พบบ่อย (FAQ)

Java HttpClient คืออะไร?

HttpClient ของ Java (เริ่มมีใน Java 11) เป็น HTTP client สมัยใหม่ในตัวที่เข้ามาแทนที่ HttpURLConnection แบบเก่า รองรับ HTTP/2, async requests, WebSocket และมี API แบบ fluent builder ไม่ต้องมี dependencies ภายนอก นอกจากนี้ curl2code ยังรองรับ OkHttp, Jsoup และ HttpURLConnection เป็นทางเลือก

HttpClient เทียบกับ OkHttp เทียบกับ HttpURLConnection — ควรใช้อันไหน?

HttpClient (Java 11+) คือมาตรฐานสมัยใหม่ — ควรใช้สำหรับโปรเจกต์ใหม่ OkHttp มีความเสถียรและถูกใช้อย่างแพร่หลายใน Android พร้อม interceptors และ connection pooling ส่วน HttpURLConnection ใช้งานได้กับ Java ทุกเวอร์ชันแต่เขียนโค้ดเยอะ สำหรับ Android/Kotlin โปรดดู ตัวแปลง curl เป็น Kotlin สำหรับแนวทางสมัยใหม่ที่คล้ายกัน ลองใช้ curl เป็น C#

จะจัดการการยืนยันตัวตนใน Java อย่างไร?

ตั้งค่า header Authorization: request.header("Authorization", "Bearer " + token) สำหรับการยืนยันตัวตนแบบ Basic ให้เข้ารหัสด้วย Base64.getEncoder().encodeToString((user + ":" + pass).getBytes()) นอกจากนี้ HttpClient ยังรองรับ Authenticator สำหรับการจัดการข้อมูลประจำตัวอัตโนมัติ

จะส่งข้อมูลฟอร์มแบบ multipart ใน Java อย่างไร?

HttpClient ใน Java 11+ ต้องมีการสร้าง multipart body ด้วยตนเองพร้อมกับ boundary strings โดยใช้ HttpRequest.BodyPublishers.ofString() พร้อมรูปแบบข้อมูลที่จัดเตรียมเอง ส่วน OkHttp ช่วยให้ง่ายขึ้นด้วย MultipartBody.Builder โดย curl2code จะสร้างโค้ด multipart ที่เหมาะสมสำหรับไลบรารี Java ที่คุณเลือก

จะจัดการข้อผิดพลาด HTTP ใน Java อย่างไร?

หากใช้ HttpClient ให้ตรวจสอบ response.statusCode() หลังจากการเรียกใช้แต่ละครั้ง — เนื่องจากจะไม่มีการ throw เมื่อเกิดข้อผิดพลาด HTTP ให้ครอบการเรียกใช้ด้วย try/catch สำหรับ IOException (เครือข่าย) และ InterruptedException (async) ส่วน OkHttp จะ throw IOException เมื่อล้มเหลวและมี response.isSuccessful() สำหรับการตรวจสอบสถานะ

จะส่ง HTTP requests แบบ async ใน Java อย่างไร?

HttpClient มี sendAsync() ซึ่งคืนค่าเป็น CompletableFuture: client.sendAsync(request, BodyHandlers.ofString()).thenApply(HttpResponse::body) สามารถเชื่อมต่อด้วย thenAccept(), thenCompose() หรือใช้ CompletableFuture.allOf() สำหรับ requests แบบขนาน ส่วน OkHttp ใช้ enqueue() ร่วมกับอินเทอร์เฟซ Callback

จะตั้งค่า timeouts ใน Java HttpClient อย่างไร?

ตั้งค่าที่ตัว client: HttpClient.newBuilder().connectTimeout(Duration.ofSeconds(10)).build() หรือต่อ request: request.timeout(Duration.ofSeconds(30)) หากใช้ OkHttp ให้ใช้ OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS)

จะกำหนดค่า proxy ใน 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 ยังรองรับแฟล็ก JVM -Dhttp.proxyHost โดย curl2code จะแปลงแฟล็ก -x ให้โดยอัตโนมัติ

วิธีส่งคำขอ POST พร้อม JSON body ใน 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 tokens จากทั้งแฟล็ก -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 เป็นภาษาอื่น