Chuyển đổi curl sang Python

curl2code chuyển đổi tức thì bất kỳ lệnh curl nào thành mã Python sạch bằng thư viện requests phổ biến. Quá trình chuyển đổi chạy hoàn toàn trong trình duyệt của bạn thông qua WebAssembly — dữ liệu của bạn không bao giờ rời khỏi thiết bị. Nếu bạn làm việc với TypeScript ở frontend, hãy xem trình chuyển đổi curl sang TypeScript của chúng tôi. Đối với JavaScript phía máy chủ, hãy xem curl sang Node.js. Dưới đây bạn sẽ tìm thấy các ví dụ thực tế bao gồm các kịch bản HTTP phổ biến nhất.

Cách sao chép curl từ trình duyệt của bạn

  1. 1

    Mở DevTools

    Nhấn F12 hoặc Ctrl+Shift+I để mở công cụ dành cho nhà phát triển của trình duyệt.

  2. 2

    Đi tới tab Network

    Nhấp vào tab Network và thực hiện hành động kích hoạt yêu cầu HTTP.

  3. 3

    Sao chép dưới dạng cURL

    Nhấp chuột phải vào yêu cầu → Sao chépCopy as cURL. Sau đó dán nó vào bên trên.

Câu hỏi thường gặp

Python Requests là gì?

Python Requests là thư viện HTTP client phổ biến nhất cho Python với hơn 50.000 sao trên GitHub. Nó cung cấp một API thanh lịch, đậm chất Python (Pythonic) để thực hiện các yêu cầu HTTP, xử lý session, cookie và xác thực. Nó hỗ trợ phân tích cú pháp JSON tích hợp sẵn, connection pooling và tự động giải mã nội dung. Cài đặt nó bằng pip install requests. Đây là thư viện mặc định được curl2code sử dụng cho các chuyển đổi Python.

Requests và http.client — tôi nên sử dụng cái nào?

Requests được khuyến nghị cho hầu hết các trường hợp sử dụng nhờ API đơn giản, tự động phân tích cú pháp JSON và hỗ trợ session tích hợp sẵn. http.client là một phần của thư viện chuẩn Python và không yêu cầu cài đặt, phù hợp cho các môi trường tối giản. Để có sự đơn giản tương tự trong các ngôn ngữ khác, hãy xem trình chuyển đổi curl sang Ruby hoặc trình chuyển đổi curl sang Go của chúng tôi.

Làm thế nào để xử lý xác thực trong Python Requests?

Truyền một header Authorization với token của bạn để xác thực Bearer, hoặc sử dụng requests.auth.HTTPBasicAuth(user, pass) để xác thực Basic. curl2code tự động phát hiện các mẫu xác thực bao gồm -u user:pass-H 'Authorization: Bearer ...'.

Làm thế nào để gửi dữ liệu form multipart với Python?

Sử dụng tham số files: requests.post(url, files={ 'file': open('doc.pdf', 'rb') }). Đối với các trường form bổ sung, hãy sử dụng data đồng thời. curl2code tự động xử lý các cờ -F.

Làm thế nào để xử lý lỗi và thử lại?

Sử dụng response.raise_for_status() để tạo ngoại lệ cho các lỗi 4xx/5xx. Bao bọc trong khối try/except để bắt requests.exceptions.RequestException. Để thử lại, hãy sử dụng urllib3.util.Retry với một Session adapter.

Làm thế nào để thực hiện các yêu cầu HTTP bất đồng bộ trong Python?

requests là đồng bộ. Đối với HTTP bất đồng bộ, hãy sử dụng aiohttp hoặc httpx (cung cấp cả API đồng bộ và bất đồng bộ với giao diện tương thích với requests). Đối với các kịch bản có độ đồng thời cao, các client bất đồng bộ cung cấp thông lượng tốt hơn đáng kể.

Làm thế nào để thiết lập timeout và connection pooling?

Luôn thiết lập timeout: requests.get(url, timeout=(3.05, 27)). Đối với connection pooling, hãy sử dụng requests.Session() để tái sử dụng các kết nối TCP. Các cờ --connect-timeout--max-time của curl sẽ được ánh xạ tương ứng.

Làm thế nào để cấu hình proxy với Python Requests?

Truyền một dict proxies: { 'https': 'http://proxy:8080' }. Đối với SOCKS, hãy cài đặt requests[socks]. Thư viện cũng tuân thủ các biến môi trường HTTP_PROXY / HTTPS_PROXY. curl2code tự động chuyển đổi các cờ -x--proxy.

Làm thế nào để gửi một yêu cầu POST với thân JSON trong Python?

Chuyển đổi một lệnh curl POST như curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL sang Python bằng cách sử dụng curl2code. Mã được tạo sẽ sử dụng requests.post(url, json={'key': 'value'}). curl2code tự động phát hiện các cờ -d/--data với nội dung JSON và thiết lập header Content-Type phù hợp trong mã Requests.

Làm thế nào để thêm xác thực Bearer token trong Python?

Cung cấp curl -H "Authorization: Bearer YOUR_TOKEN" URL cho curl2code và nó sẽ tạo mã Requests với header xác thực: headers={'Authorization': 'Bearer YOUR_TOKEN'}. curl2code phát hiện Bearer tokens từ cả hai cờ -H "Authorization: Bearer ..."--oauth2-bearer. Đối với Basic auth, hãy sử dụng -u user:pass.

Làm thế nào để thiết lập header Content-Type trong Python?

curl2code chuyển đổi curl -H "Content-Type: application/json" URL sang mã Requests với header chính xác: headers={'Content-Type': 'application/json'}. Đối với dữ liệu -d, curl mặc định là application/x-www-form-urlencoded; đối với tải lên biểu mẫu -F, nó sử dụng multipart/form-data. curl2code ánh xạ từng loại tới Requests API chính xác.

Làm thế nào để chuyển đổi một lệnh curl sang mã Python?

Dán lệnh curl của bạn vào curl2code và chọn Python. Công cụ này phân tích tất cả các cờ — -X (phương thức), -H (headers), -d (dữ liệu), -u (xác thực), -F (biểu mẫu), cookies, và nhiều hơn nữa — và tạo mã Python Requests sạch sẽ. Việc chuyển đổi chạy cục bộ trong trình duyệt của bạn thông qua WebAssembly, vì vậy các API keys và dữ liệu của bạn luôn được giữ riêng tư. Bạn cũng có thể chọn http.client như một thư viện thay thế.

Liên kết hữu ích

Hướng dẫn curl

Chuyển đổi curl sang các ngôn ngữ khác