Μετατροπή curl σε Java

Μετατρέψτε εντολές curl σε κώδικα Java χρησιμοποιώντας το σύγχρονο API HttpClient. Το 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. Στη συνέχεια, επικολλήστε το παραπάνω.

Συχνές Ερωτήσεις

Τι είναι ο Java HttpClient;

Ο HttpClient της Java (εισήχθη στην Java 11) είναι ένας σύγχρονος, ενσωματωμένος HTTP πελάτης που αντικαθιστά το παλαιού τύπου HttpURLConnection. Υποστηρίζει HTTP/2, ασύγχρονα αιτήματα, WebSocket και ένα fluent builder API. Δεν απαιτούνται εξωτερικές εξαρτήσεις. Το curl2code υποστηρίζει επίσης τις OkHttp, Jsoup και HttpURLConnection ως εναλλακτικές λύσεις.

HttpClient vs OkHttp vs HttpURLConnection — ποιο να χρησιμοποιήσω;

Ο HttpClient (Java 11+) είναι το σύγχρονο πρότυπο — χρησιμοποιήστε τον για νέα έργα. Η OkHttp είναι ώριμη, χρησιμοποιείται ευρέως στο Android, με interceptors και connection pooling. Η HttpURLConnection λειτουργεί σε όλες τις εκδόσεις Java αλλά είναι φλύαρη. Για Android/Kotlin, δείτε τον μετατροπέα curl σε Kotlin. Για μια παρόμοια σύγχρονη προσέγγιση, δοκιμάστε το curl σε C#.

Πώς γίνεται ο χειρισμός της ταυτοποίησης στη Java;

Ορίστε την κεφαλίδα Authorization: request.header("Authorization", "Bearer " + token). Για Basic auth, κωδικοποιήστε με Base64.getEncoder().encodeToString((user + ":" + pass).getBytes()). Ο HttpClient υποστηρίζει επίσης το Authenticator για αυτόματο χειρισμό διαπιστευτηρίων.

Πώς στέλνω δεδομένα φόρμας multipart στη 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).

Πώς ρυθμίζεται ένας διακομιστής μεσολάβησης (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 σώμα στην 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 flags με 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 flags. Για 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 σε άλλες γλώσσες