cURL sang mã
Dán lệnh curl, kiểm tra yêu cầu mà nó gửi đi, rồi sao chép dưới dạng mã ở bảy ngôn ngữ.
Việc phân tích và tạo mã diễn ra trong tab trình duyệt này. Không có gì được tải lên, lưu lại hay gửi đi — kể cả tới chúng tôi.
Dán lệnh curl ở trên để xem tóm tắt yêu cầu và mã.
Cách sử dụng
- Dán lệnh curl — từ DevTools (Copy as cURL), tài liệu API hoặc một cuộc trò chuyện. Mã hiện ra khi bạn gõ.
- Đọc dòng tóm tắt trước: phương thức, URL, số header và dung lượng nội dung. Nếu tóm tắt đúng thì mã bên dưới cũng đúng.
- Chọn ngôn ngữ đích; mã và tên tệp tải xuống thay đổi mà không động tới lệnh của bạn.
- Cảnh báo chỉ ra những gì mã không thể hiện — proxy, chuyển hướng, biến shell. Lỗi sẽ dừng việc tạo mã thay vì hiện một yêu cầu nửa vời.
- Đặt lại xóa đầu vào và quay về Python; tải lại trang cũng vậy.
Ví dụ
Lệnh
curl -X POST 'https://httpbin.org/anything?from=en' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer demo-token' \ -d '{"name": "Ada", "city": "London"}'
Python
import requests url = "https://httpbin.org/anything?from=en" headers = { "Content-Type": "application/json", "Authorization": "Bearer demo-token", } data = "{\"name\": \"Ada\", \"city\": \"London\"}".encode("utf-8") response = requests.request("POST", url, headers=headers, data=data) print(response.status_code) print(response.text)
Phần tóm tắt và mã trên được tạo từ chính lệnh đó — công cụ này không bao giờ gọi httpbin. Tập con được hỗ trợ gồm phương thức, URL, header, nội dung, xác thực Basic/Bearer và thời gian chờ.
Quy tắc, giới hạn và các vấn đề đã biết
- Không tải tệp lên: -F, -T và đầu vào @file bị từ chối, nên bạn không bao giờ nhận mã âm thầm bỏ mất một tệp.
- Không chạy shell: biến, thay thế lệnh, pipe và nhiều lệnh không được mở rộng; $TOKEN giữ nguyên kèm cảnh báo.
- Mỗi lệnh một URL: URL thừa bị bỏ qua kèm cảnh báo, không biến thành vòng lặp.
- Không tái hiện tùy chọn truyền tải: -L, -k, proxy, chứng chỉ máy khách, phiên bản HTTP, thử lại và nén chỉ tạo cảnh báo. Mã tạo ra dùng mặc định của thư viện.
- Không thêm mặc định ngầm của curl: User-Agent: curl/… và Accept: */* không được thêm; hãy ghim bằng -A / -H.
- Chỉ hiểu cú pháp trích dẫn POSIX: nháy đơn, nháy kép, $'...' và xuống dòng nối bằng dấu gạch chéo ngược; cách escape của Windows CMD không được phân tích.
- Header trùng được giữ ở Go, PHP, Java, C# và Ruby; từ điển của Python và JavaScript gộp chúng bằng ", ".
- Yêu cầu GET/HEAD có nội dung được tạo đúng như đã viết, kèm cảnh báo — fetch từ chối nó.
- Không có lịch sử hay lưu trữ: tải lại trang là xóa hết; nút chia sẻ chia sẻ liên kết trang, không bao giờ chia sẻ lệnh của bạn.
- Công cụ này chỉ chuyển đổi; nó không bao giờ gửi yêu cầu. Dùng ứng dụng khách API nếu bạn cũng muốn xem phản hồi.
Công cụ liên quan
Hữu ích sau khi chuyển đổi một lệnh.