cURL → Code
Dán một lệnh curl và nhận code tương đương — JavaScript fetch hoặc axios, Node.js, Python requests, PHP, Go, Java, C#, Rust, Dart, hoặc lệnh HTTPie / wget. Tiện để biến tài liệu API hoặc request copy từ DevTools thành code chạy được.
Các bước sử dụng
- Dán lệnh curl (xuống dòng bằng
\vẫn được). - Chọn đích ở ô Ngôn ngữ.
- Sao chép code sinh ra.
Mẹo
- Chuột phải một request trong DevTools trình duyệt → "Copy as cURL (bash)" để lấy request thật. Nháy đơn, nháy kép và chuỗi
$'…'đều được hiểu. - Cờ hỗ trợ:
-X/--request,-H/--header,-d/--data,--data-raw,--data-binary,--data-urlencode,--json,-F/--form,-u/--user,-b/--cookie,-A,-e,-k/--insecure,-L,-Gvà-I. - Method mặc định là POST khi có body, ngược lại là GET.
-Gchuyển dữ liệu vào query string;-Igửi HEAD. - Giống chính curl,
-dkhông kèm headerContent-Typeđược gửi dạngapplication/x-www-form-urlencoded, và code sinh ra ghi rõ header đó. - Body JSON có
Content-TypeJSON được chuyển thành cấu trúc gốc nếu ngôn ngữ hỗ trợ (json=trong Python,JSON.stringify({...})trong Node.js). Các body khác được chép thành chuỗi và escape đúng cho từng ngôn ngữ — ký tự$được escape trong PHP và Dart, nơi nó sẽ bị hiểu là chèn biến. -u user:passdùng cơ chế basic auth riêng của từng thư viện (auth=trong requests,SetBasicAuthtrong Go,basic_authtrong reqwest,-atrong HTTPie); các đích còn lại nhận headerAuthorization: Basic ….-kđược giữ ở những thư viện làm được (verify=False,InsecureSkipVerify,danger_accept_invalid_certs,--verify=no,--no-check-certificate). Fetch trên trình duyệt và Java chỉ nhận một dòng chú thích, vì không tắt được việc kiểm tra chứng chỉ bằng một dòng.-b name=valuethành dictcookiestrong Python,CURLOPT_COOKIEtrong PHP và headerCookieở nơi khác.-btrỏ tới tệp cookie sẽ bị bỏ qua.-d @filevà-F name=@fileđọc tệp ở những ngôn ngữ làm được; wget không tạo được body multipart và code sinh ra sẽ ghi chú điều đó.
Câu hỏi thường gặp
Hỗ trợ ngôn ngữ nào?
JavaScript fetch và axios, Node.js (fetch tích hợp sẵn), Python (requests), PHP (extension curl), Go (net/http), Java (java.net.http HttpClient), C# (HttpClient), Rust (reqwest, blocking), Dart (package:http), HTTPie và wget.
Có tự đi theo chuyển hướng không?
Phần lớn các thư viện này tự đi theo chuyển hướng. -L được chuyển sang PHP, Java và HTTPie, vốn không tự làm việc đó.
Có gửi request đi không?
Không — chỉ phân tích lệnh và sinh code cục bộ. Không thực thi hay gửi gì.