Μετατροπή curl σε Perl
Μετατρέψτε εντολές curl σε κώδικα Perl χρησιμοποιώντας το LWP::UserAgent. Το curl2code εκτελείται εξ ολοκλήρου στο πρόγραμμα περιήγησής σας μέσω WebAssembly — τα δεδομένα σας παραμένουν ιδιωτικά. Για Python, δοκιμάστε τον μετατροπέα curl σε Python. Για Ruby, δείτε το curl σε Ruby. Παρακάτω υπάρχουν έτοιμα προς χρήση παραδείγματα Perl.
Πώς να αντιγράψετε το curl από το πρόγραμμα περιήγησής σας
- 1
Ανοίξτε τα DevTools
Πατήστε F12 ή Ctrl+Shift+I για να ανοίξετε τα εργαλεία προγραμματιστή του προγράμματος περιήγησης.
- 2
Μεταβείτε στην καρτέλα Network
Κάντε κλικ στην καρτέλα Network και εκτελέστε την ενέργεια που ενεργοποιεί το αίτημα HTTP.
- 3
Αντιγραφή ως cURL
Κάντε δεξί κλικ στο αίτημα → Copy → Copy as cURL. Στη συνέχεια, επικολλήστε το παραπάνω.
Συχνές Ερωτήσεις
Τι είναι το Perl LWP;
Το LWP (Library for WWW in Perl) είναι η πρότυπη βιβλιοθήκη HTTP client για την Perl. Το module LWP::UserAgent παρέχει έναν πλήρη client με διαχείριση cookies, ανακατευθύνσεις, υποστήριξη proxy και SSL. Εγκαταστήστε το με cpan LWP ή apt install libwww-perl. Το curl2code χρησιμοποιεί το LWP ως προεπιλογή για τις μετατροπές Perl.
LWP vs HTTP::Tiny vs Mojo::UserAgent — ποιο να χρησιμοποιήσω;
Το LWP είναι πλούσιο σε χαρακτηριστικά και η παραδοσιακή επιλογή. Το HTTP::Tiny είναι ένα core module (δεν απαιτείται εγκατάσταση) — εξαιρετικό για απλά αιτήματα. Το Mojo::UserAgent είναι σύγχρονο με υποστήριξη async και WebSocket. Για γρήγορα scripts, χρησιμοποιήστε το HTTP::Tiny. Για πλήρη χαρακτηριστικά, χρησιμοποιήστε το LWP. Για παρόμοιες γλώσσες scripting, δείτε το curl σε Python ή curl σε Ruby.
Πώς γίνεται ο χειρισμός του authentication στην Perl;
Με το LWP: $ua->default_header('Authorization' => 'Bearer token'). Για Basic auth: $ua->credentials('host:port', 'realm', 'user', 'pass'). Ή ορίστε κεφαλίδες ανά αίτημα στο αντικείμενο HTTP::Request. Το curl2code μετατρέπει τα flags -u και -H 'Authorization' σε σύνταξη Perl.
Πώς στέλνω multipart form data στην Perl;
Χρησιμοποιήστε το HTTP::Request::Common: POST($url, Content_Type => 'form-data', Content => [file => ['path/file.pdf']]). Το LWP διαχειρίζεται αυτόματα τα multipart boundaries. Για επιπλέον πεδία, προσθέστε ζεύγη κλειδιού-τιμής στον πίνακα Content. Το curl2code μετατρέπει τα flags -F σε αυτή τη μορφή.
Πώς γίνεται ο χειρισμός σφαλμάτων HTTP στην Perl;
Ελέγξτε το $response->is_success μετά από κάθε αίτημα. Για λεπτομέρειες σφάλματος: το $response->status_line επιστρέφει τον κωδικό κατάστασης και το μήνυμα. Το LWP επιστρέφει ένα αντικείμενο απόκρισης ακόμα και σε σφάλματα — ελέγξτε το $response->code για το HTTP status. Χρησιμοποιήστε die ή warn για αναφορά σφαλμάτων.
Πώς γίνεται το parsing JSON στην Perl;
Χρησιμοποιήστε το module JSON: my $data = decode_json($response->content). Για κωδικοποίηση: my $json = encode_json($hashref). Εγκαταστήστε το με cpan JSON. Για Perl 5.14+, εξετάστε το JSON::PP (core module, χωρίς εγκατάσταση). Για περισσότερα εργαλεία με επίκεντρο το JSON, δείτε το curl σε Go.
Πώς ορίζονται τα timeouts στο Perl LWP;
Ορίστε τα στο UserAgent: my $ua = LWP::UserAgent->new(timeout => 30). Αυτό ορίζει το συνολικό timeout του αιτήματος σε δευτερόλεπτα. Για το timeout σύνδεσης ειδικά, χρησιμοποιήστε τις επιλογές του IO::Socket::SSL. Οι επαναλήψεις (retries) δεν είναι ενσωματωμένες στο LWP — υλοποιήστε τις χειροκίνητα ή χρησιμοποιήστε το LWP::UserAgent::Determined.
Πώς χρησιμοποιείται ένας proxy στην Perl;
Ορίστε τον στο UserAgent: $ua->proxy(['http', 'https'], 'http://proxy:8080'). Ή χρησιμοποιήστε μεταβλητές περιβάλλοντος: το $ua->env_proxy διαβάζει τις HTTP_PROXY και HTTPS_PROXY. Για εξαιρέσεις no-proxy: $ua->no_proxy('localhost', '.internal'). Το curl2code μετατρέπει τα flags -x σε κλήσεις proxy του LWP.
Πώς να στείλετε ένα POST αίτημα με JSON σώμα στην Perl;
Μετατρέψτε μια curl POST εντολή όπως curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL σε Perl χρησιμοποιώντας το curl2code. Ο παραγόμενος κώδικας χρησιμοποιεί $ua->post($url, Content_Type => 'application/json', Content => encode_json($data)). Το curl2code εντοπίζει αυτόματα τα -d/--data flags με JSON περιεχόμενο και ορίζει την κατάλληλη Content-Type κεφαλίδα στον κώδικα LWP::UserAgent.
Πώς να προσθέσετε εξουσιοδότηση Bearer token στην Perl;
Περάστε το curl -H "Authorization: Bearer YOUR_TOKEN" URL στο curl2code και αυτό θα δημιουργήσει κώδικα LWP::UserAgent με την κεφαλίδα εξουσιοδότησης: $req->header('Authorization' => 'Bearer YOUR_TOKEN'). Το curl2code εντοπίζει τα Bearer tokens τόσο από τα -H "Authorization: Bearer ..." όσο και από τα --oauth2-bearer flags. Για Basic auth, χρησιμοποιήστε το -u user:pass.
Πώς να ορίσετε την κεφαλίδα Content-Type στην Perl;
Το curl2code μετατρέπει το curl -H "Content-Type: application/json" URL σε κώδικα LWP::UserAgent με τη σωστή κεφαλίδα: $req->header('Content-Type' => 'application/json'). Για δεδομένα -d, το curl χρησιμοποιεί από προεπιλογή το application/x-www-form-urlencoded· για μεταφορτώσεις φορμών -F, χρησιμοποιεί το multipart/form-data. Το curl2code αντιστοιχίζει το καθένα στο σωστό LWP::UserAgent API.
Χρήσιμοι σύνδεσμοι
Οδηγοί curl
Κωδικοί σφαλμάτων curl
Αναζητήστε οποιονδήποτε κωδικό εξόδου curl — αιτίες, λύσεις και συμβουλές αποσφαλμάτωσης.
Λήψη αρχείων με curl
Αποθηκεύστε αρχεία με -o, -O, ακολουθήστε ανακατευθύνσεις, συνεχίστε λήψεις και άλλα.
SSL, TLS & Proxy
Ρυθμίστε πιστοποιητικά, εκδόσεις TLS, HTTP/SOCKS proxy και προσαρμοσμένο DNS.