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

  1. 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õ.
  2. Đọ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.
  3. 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.
  4. 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.
  5. Đặ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.

Hữu ích sau khi chuyển đổi một lệnh.