Μετατροπή 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. Στη συνέχεια, επικολλήστε το παραπάνω.
Συχνές Ερωτήσεις
Τι είναι ο 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
Αναζητήστε οποιονδήποτε κωδικό εξόδου curl — αιτίες, λύσεις και συμβουλές αποσφαλμάτωσης.
Λήψη αρχείων με curl
Αποθηκεύστε αρχεία με -o, -O, ακολουθήστε ανακατευθύνσεις, συνεχίστε λήψεις και άλλα.
SSL, TLS & Proxy
Ρυθμίστε πιστοποιητικά, εκδόσεις TLS, HTTP/SOCKS proxy και προσαρμοσμένο DNS.