Chuyển đổi lệnh curl thành mã Python - Tạo mã Python requests sẵn sàng sử dụng cho các yêu cầu 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)
Dưới đây là một số lệnh curl phổ biến mà bạn có thể chuyển đổi thành mã 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
Thư viện requests của Python là một cách mạnh mẽ và thanh lịch để thực hiện các yêu cầu HTTP. Dưới đây là một số mẫu Python requests phổ biến:
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}")
Sao chép lệnh curl của bạn → Dán vào hộp nhập liệu → Nhận mã Python requests đã chuyển đổi
Bộ chuyển đổi nâng cao của chúng tôi hỗ trợ các lệnh curl phức tạp và chuyển đổi chúng thành mã Python sạch, hiệu quả và sẵn sàng cho sản xuất sử dụng thư viện requests. Hoàn hảo cho phát triển API, kiểm thử và tích hợp.
Công cụ của chúng tôi xử lý các tùy chọn curl phổ biến này và chuyển đổi chúng thành mã Python requests thích hợp:
Đ: Mã Python requests được tạo hoàn toàn tương thích với Python 3.x (3.6 trở lên). Đối với Python 2.x, có thể cần điều chỉnh nhỏ, mặc dù chúng tôi khuyên bạn nên sử dụng Python 3 để có bảo mật và hỗ trợ tính năng tốt hơn.
Đ: Mã cơ bản được tạo không bao gồm xử lý lỗi mở rộng. Đối với mã sản xuất, bạn nên thêm các khối try/except để xử lý các ngoại lệ tiềm ẩn như requests.exceptions.RequestException.
Đ: Thư viện requests giúp dễ dàng xử lý phản hồi. Sử dụng response.json() cho phản hồi JSON, response.text cho nội dung văn bản, hoặc response.content cho dữ liệu nhị phân.
Đ: Có, bạn cần cài đặt thư viện requests nếu bạn chưa có. Bạn có thể cài đặt nó bằng pip: pip install requests
Đ: Đối với tải lên tệp trong Python, bạn cần sử dụng tham số files trong phương thức requests.post(). Bộ chuyển đổi của chúng tôi xử lý các lệnh curl với tùy chọn -F
hoặc --form
và tạo mã Python thích hợp sử dụng thư viện requests.
Đ: Thư viện requests của Python giúp xử lý cookie dễ dàng với đối tượng Session. Khi bạn chuyển đổi các lệnh curl bao gồm xử lý cookie (sử dụng -b
hoặc --cookie
), công cụ của chúng tôi tạo mã Python quản lý cookie đúng cách bằng cách sử dụng requests.Session().
Đ: Trong khi curl rất tốt cho kiểm thử API dòng lệnh nhanh, Python requests cung cấp một cách tiếp cận lập trình tích hợp với ứng dụng Python của bạn. Chuyển đổi curl sang Python giúp bắc cầu khoảng cách giữa kiểm thử và triển khai trong phát triển Python.
Hiểu các lệnh curl là điều cần thiết cho kiểm thử API hiệu quả với Python. Dưới đây là tham khảo nhanh về các tùy chọn curl phổ biến mà bộ chuyển đổi của chúng tôi hỗ trợ:
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 connectionBộ chuyển đổi Python của chúng tôi xử lý các lệnh curl phức tạp bao gồm nhiều header, xác thực, tải trọng dữ liệu và các tùy chọn khác nhau. Chỉ cần dán lệnh curl của bạn và nhận mã Python sạch, hiện đại sử dụng thư viện requests.
Khi làm việc với thư viện Python requests, hãy tuân theo các thực hành tốt nhất sau đây để tương tác API hiệu quả và an toàn:
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 = {}