Μετατροπή curl σε Lua
Το curl2code μετατρέπει εντολές curl σε κώδικα Lua χρησιμοποιώντας τη βιβλιοθήκη http. Η μετατροπή εκτελείται στο πρόγραμμα περιήγησής σας μέσω WebAssembly για πλήρη ιδιωτικότητα. Για Python, δείτε τον μετατροπέα curl σε Python. Για Ruby, δείτε το curl σε Ruby. Παρακάτω υπάρχουν πρακτικά παραδείγματα Lua.
Πώς να αντιγράψετε το curl από το πρόγραμμα περιήγησής σας
- 1
Ανοίξτε τα DevTools
Πατήστε F12 ή Ctrl+Shift+I για να ανοίξετε τα εργαλεία προγραμματιστή του προγράμματος περιήγησης.
- 2
Μεταβείτε στην καρτέλα Network
Κάντε κλικ στην καρτέλα Network και εκτελέστε την ενέργεια που ενεργοποιεί το αίτημα HTTP.
- 3
Αντιγραφή ως cURL
Κάντε δεξί κλικ στο αίτημα → Copy → Copy as cURL. Στη συνέχεια, επικολλήστε το παραπάνω.
Συχνές Ερωτήσεις
Τι είναι το Lua http;
Το lua-http (ή το socket.http από το LuaSocket) είναι ο πρότυπος τρόπος για αιτήματα HTTP στη Lua. Παρέχει βασικές μεθόδους GET, POST και προσαρμοσμένες μεθόδους αιτημάτων. Για περισσότερα χαρακτηριστικά, το lua-resty-http είναι δημοφιλές σε περιβάλλοντα OpenResty/Nginx. Εγκαταστήστε το με luarocks install http. Το curl2code δημιουργεί κώδικα χρησιμοποιώντας το module http.
socket.http vs lua-resty-http vs lua-curl — ποιο να χρησιμοποιήσω;
Το socket.http (LuaSocket) είναι το πρότυπο για γενική χρήση Lua. Το lua-resty-http είναι για OpenResty/Nginx με non-blocking I/O. Το lua-curl περιβάλλει το libcurl για πλήρη υποστήριξη πρωτοκόλλων. Χρησιμοποιήστε το socket.http για αυτόνομα scripts, και το resty-http για web servers. Για παρόμοιο scripting, δείτε το curl σε Python ή curl σε Ruby.
Πώς γίνεται ο χειρισμός του authentication στη Lua;
Ορίστε την κεφαλίδα Authorization στον πίνακα headers: headers = { Authorization = "Bearer token" }. Για Basic auth, κωδικοποιήστε με μια βιβλιοθήκη base64: "Basic " .. base64.encode(user .. ":" .. pass). Περάστε τις κεφαλίδες στον πίνακα επιλογών του αιτήματος. Το curl2code χειρίζεται τα flags -u και τις κεφαλίδες.
Πώς στέλνω multipart form data στη Lua;
Κατασκευάστε το multipart σώμα χειροκίνητα με boundary strings, ή χρησιμοποιήστε μια βοηθητική βιβλιοθήκη όπως το multipart-post. Ορίστε την κεφαλίδα Content-Type με το boundary. Το http.request του LuaSocket δέχεται μια συνάρτηση source για streaming μεγάλων μεταφορτώσεων. Το curl2code μετατρέπει τα flags -F σε σύνταξη Lua.
Πώς γίνεται ο χειρισμός σφαλμάτων HTTP στη Lua;
Το http.request του LuaSocket επιστρέφει πολλαπλές τιμές: body, code, headers, status = http.request(url). Ελέγξτε το code για το HTTP status (200, 404, κ.λπ.) ή nil σε αποτυχία δικτύου. Χρησιμοποιήστε το assert() της Lua ή το μοτίβο if not body then για έλεγχο σφαλμάτων.
Πώς γίνεται το parsing JSON στη Lua;
Χρησιμοποιήστε το module cjson (γρήγορο, βασισμένο σε C): local data = cjson.decode(json_string). Για κωδικοποίηση: cjson.encode(table). Στο OpenResty, το cjson είναι προεγκατεστημένο. Για αυτόνομη Lua, εγκαταστήστε το με luarocks install lua-cjson. Εναλλακτικά, χρησιμοποιήστε το dkjson που είναι γραμμένο σε καθαρή Lua.
Πώς ορίζονται τα timeouts στη Lua;
Με το LuaSocket: ορίστε το http.TIMEOUT = 30 καθολικά, ή δημιουργήστε μια προσαρμοσμένη σύνδεση και καλέστε το :settimeout(30). Στο lua-resty-http, χρησιμοποιήστε το httpc:set_timeout(30000) (σε χιλιοστά του δευτερολέπτου). Τα timeouts εμποδίζουν τα scripts να κολλάνε επ' αόριστον σε διακομιστές που δεν αποκρίνονται.
Πώς χρησιμοποιείται ένας proxy στη Lua;
Με το LuaSocket, ορίστε το πεδίο proxy στις επιλογές του αιτήματος: http.request{ url = target, proxy = "http://proxy:8080" }. Για το lua-resty-http, συνδεθείτε απευθείας στον proxy και χρησιμοποιήστε τη μέθοδο CONNECT για HTTPS tunneling. Το curl2code μετατρέπει τα flags -x στην κατάλληλη ρύθμιση proxy της Lua.
Πώς να στείλετε ένα POST αίτημα με JSON σώμα στη Lua;
Μετατρέψτε μια curl POST εντολή όπως curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL σε Lua χρησιμοποιώντας το curl2code. Ο παραγόμενος κώδικας χρησιμοποιεί http.request(url, json_body, headers). Το curl2code εντοπίζει αυτόματα τα -d/--data flags με JSON περιεχόμενο και ορίζει την κατάλληλη Content-Type κεφαλίδα στον κώδικα http.
Πώς να προσθέσετε εξουσιοδότηση Bearer token στη Lua;
Περάστε το curl -H "Authorization: Bearer YOUR_TOKEN" URL στο curl2code και αυτό θα δημιουργήσει κώδικα http με την κεφαλίδα εξουσιοδότησης: headers['Authorization'] = 'Bearer YOUR_TOKEN'. Το curl2code εντοπίζει τα Bearer tokens τόσο από τα -H "Authorization: Bearer ..." όσο και από τα --oauth2-bearer flags. Για Basic auth, χρησιμοποιήστε το -u user:pass.
Πώς να ορίσετε την κεφαλίδα Content-Type στη Lua;
Το curl2code μετατρέπει το curl -H "Content-Type: application/json" URL σε κώδικα http με τη σωστή κεφαλίδα: headers['Content-Type'] = 'application/json'. Για δεδομένα -d, το curl χρησιμοποιεί από προεπιλογή το application/x-www-form-urlencoded· για μεταφορτώσεις φορμών -F, χρησιμοποιεί το multipart/form-data. Το curl2code αντιστοιχίζει το καθένα στο σωστό http API.
Χρήσιμοι σύνδεσμοι
Οδηγοί curl
Κωδικοί σφαλμάτων curl
Αναζητήστε οποιονδήποτε κωδικό εξόδου curl — αιτίες, λύσεις και συμβουλές αποσφαλμάτωσης.
Λήψη αρχείων με curl
Αποθηκεύστε αρχεία με -o, -O, ακολουθήστε ανακατευθύνσεις, συνεχίστε λήψεις και άλλα.
SSL, TLS & Proxy
Ρυθμίστε πιστοποιητικά, εκδόσεις TLS, HTTP/SOCKS proxy και προσαρμοσμένο DNS.