Μετατρέψτε εντολές curl σε κώδικα Python - Δημιουργήστε έτοιμο προς χρήση κώδικα Python requests για αιτήματα API
# Python requests code will appear here # Example: import requests url = "https://api.example.com/data" payload = {"name": "test"} headers = { "Content-Type": "application/json" } response = requests.post(url, json=payload, headers=headers) print(response.status_code) print(response.text)
Εδώ είναι μερικές κοινές εντολές curl που μπορείτε να μετατρέψετε σε κώδικα Python:
curl https://api.example.com/users
curl -X POST -H "Content-Type: application/json" -d '{"name":"John","email":"[email protected]"}' https://api.example.com/users
curl -X PUT -H "Authorization: Bearer token123" -d '{"status":"active"}' https://api.example.com/users/1
curl -X DELETE https://api.example.com/users/1
curl -H "X-API-Key: abc123" -H "Accept: application/json" https://api.example.com/data
Η βιβλιοθήκη requests της Python είναι ένας ισχυρός και κομψός τρόπος για την πραγματοποίηση αιτημάτων HTTP. Εδώ είναι μερικά κοινά μοτίβα Python requests:
import requests url = "https://api.example.com/upload" files = {'file': open('document.pdf', 'rb')} headers = {"Authorization": "Bearer YOUR_TOKEN_HERE"} response = requests.post(url, files=files, headers=headers) print(response.json())
import requests from requests.exceptions import RequestException url = "https://api.example.com/data" try: response = requests.get(url, timeout=5) response.raise_for_status() # Raises exception for 4XX/5XX responses data = response.json() print(data) except RequestException as e: print(f"Error making request: {e}")
Αντιγράψτε την εντολή curl σας → Επικολλήστε στο πλαίσιο εισαγωγής → Λάβετε μετατρεπόμενο κώδικα Python requests
Ο προηγμένος μετατροπέας μας υποστηρίζει σύνθετες εντολές curl και τις μεταφράζει σε καθαρό, αποδοτικό και έτοιμο για παραγωγή κώδικα Python χρησιμοποιώντας τη βιβλιοθήκη requests. Ιδανικό για ανάπτυξη API, δοκιμές και ενσωμάτωση.
Το εργαλείο μας χειρίζεται αυτές τις κοινές επιλογές curl και τις μετατρέπει σε κατάλληλο κώδικα Python requests:
Α: Ο παραγόμενος κώδικας Python requests είναι πλήρως συμβατός με Python 3.x (3.6 και νεότερη). Για Python 2.x, ενδέχεται να χρειαστούν μικρές προσαρμογές, αν και συνιστούμε τη χρήση Python 3 για καλύτερη ασφάλεια και υποστήριξη χαρακτηριστικών.
Α: Ο βασικός παραγόμενος κώδικας δεν περιλαμβάνει εκτεταμένο χειρισμό σφαλμάτων. Για κώδικα παραγωγής, θα πρέπει να προσθέσετε μπλοκ try/except για να χειριστείτε πιθανές εξαιρέσεις όπως requests.exceptions.RequestException.
Α: Η βιβλιοθήκη requests διευκολύνει την επεξεργασία αποκρίσεων. Χρησιμοποιήστε response.json() για αποκρίσεις JSON, response.text για περιεχόμενο κειμένου ή response.content για δυαδικά δεδομένα.
Α: Ναι, χρειάζεται να εγκαταστήσετε τη βιβλιοθήκη requests αν δεν την έχετε ήδη. Μπορείτε να την εγκαταστήσετε χρησιμοποιώντας pip: pip install requests
Α: Για μεταφορτώσεις αρχείων σε Python, θα χρειαστεί να χρησιμοποιήσετε την παράμετρο files στη μέθοδο requests.post(). Ο μετατροπέας μας χειρίζεται εντολές curl με επιλογές -F
ή --form
και παράγει τον κατάλληλο κώδικα Python χρησιμοποιώντας τη βιβλιοθήκη requests.
Α: Η βιβλιοθήκη requests της Python διευκολύνει το χειρισμό cookies με το αντικείμενο Session. Όταν μετατρέπετε εντολές curl που περιλαμβάνουν χειρισμό cookies (χρησιμοποιώντας -b
ή --cookie
), το εργαλείο μας παράγει κώδικα Python που διαχειρίζεται σωστά τα cookies χρησιμοποιώντας requests.Session().
Α: Ενώ το curl είναι εξαιρετικό για γρήγορες δοκιμές API γραμμής εντολών, το Python requests παρέχει μια προγραμματιστική προσέγγιση που ενσωματώνεται με τις εφαρμογές Python σας. Η μετατροπή του curl σε Python βοηθά στη γεφύρωση του χάσματος μεταξύ δοκιμών και υλοποίησης στην ανάπτυξη Python.
Η κατανόηση των εντολών curl είναι απαραίτητη για αποτελεσματικές δοκιμές API με Python. Εδώ είναι μια γρήγορη αναφορά κοινών επιλογών curl που υποστηρίζει ο μετατροπέας μας:
curl [options] [URL]
-X, --request METHOD
: Specify request method (GET, POST, PUT, DELETE, etc.)-H, --header LINE
: Add header to the request-d, --data DATA
: Send data in POST request-F, --form CONTENT
: Submit form data-u, --user USER:PASSWORD
: Server user and password-k, --insecure
: Allow insecure server connections-I, --head
: Show document info only-v, --verbose
: Make the operation more verbose-s, --silent
: Silent mode--connect-timeout SECONDS
: Maximum time for connectionΟ μετατροπέας Python μας χειρίζεται σύνθετες εντολές curl συμπεριλαμβανομένων πολλαπλών κεφαλίδων, πιστοποίησης, ωφέλιμων φορτίων δεδομένων και διαφόρων επιλογών. Απλά επικολλήστε την εντολή curl σας και λάβετε καθαρό, σύγχρονο κώδικα Python χρησιμοποιώντας τη βιβλιοθήκη requests.
Όταν εργάζεστε με τη βιβλιοθήκη requests της Python, ακολουθήστε αυτές τις βέλτιστες πρακτικές για αποδοτικές και ασφαλείς αλληλεπιδράσεις API:
import requests session = requests.Session() session.headers.update({"Authorization": "Bearer token123"}) # First request response1 = session.get("https://api.example.com/users") # Second request (uses same session) response2 = session.get("https://api.example.com/products") # Close the session when done session.close()
import requests from requests.exceptions import HTTPError, ConnectionError, Timeout try: response = requests.get("https://api.example.com/data", timeout=5) response.raise_for_status() except HTTPError as e: print(f"HTTP error occurred: {e}") except ConnectionError as e: print(f"Connection error occurred: {e}") except Timeout as e: print(f"Timeout error occurred: {e}") except Exception as e: print(f"An error occurred: {e}")
import requests import json response = requests.get("https://api.example.com/data") try: data = response.json() except json.JSONDecodeError: print("Response was not valid JSON") data = {}