המרת curl ל-Java
המר פקודות curl לקוד Java באמצעות ה-API המודרני HttpClient. 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. לאחר מכן הדבק אותה למעלה.
שאלות נפוצות (FAQ)
מה זה Java HttpClient?
ה-HttpClient של Java (הוצג ב-Java 11) הוא לקוח HTTP מודרני ומובנה המחליף את HttpURLConnection המיושן. הוא תומך ב-HTTP/2, בקשות אסינכרוניות, WebSocket, ו-API של fluent builder. אין צורך בתלות חיצונית. curl2code תומך גם ב-OkHttp, Jsoup, ו-HttpURLConnection כחלופות.
HttpClient לעומת OkHttp לעומת HttpURLConnection — במה להשתמש?
HttpClient (Java 11+) הוא הסטנדרט המודרני — השתמש בו לפרויקטים חדשים. OkHttp הוא בוגר, בשימוש נרחב ב-Android, עם interceptors ומאגר חיבורים. 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 data) ב-Java?
HttpClient של Java 11+ דורש בנייה ידנית של גוף ה-multipart עם מחרוזות גבול (boundary). השתמש ב-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 מכבדת גם דגלי JVM מסוג -Dhttp.proxyHost. 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 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 ממפה כל אחד מהם ל-API הנכון של HttpClient.