Cách dùng Chuyển cURL sang Code
- Sao chép request dưới dạng curl. Trong DevTools của Chrome hoặc Firefox, chuột phải vào một request ở tab Network và chọn Copy › Copy as cURL. Bạn cũng có thể lấy một ví dụ curl từ tài liệu API.
- Dán vào ô curl command. Lệnh nhiều dòng có ký tự nối
\vẫn hoạt động bình thường. - Chọn một tab ngôn ngữ: JavaScript fetch, Axios, Node.js, Python, PHP hoặc Go.
- Đọc phần ghi chú bên dưới đoạn code để xem những điểm cần lưu ý, rồi nhấn Copy code.
Công cụ chuyển curl sang code làm gì?
curl là ngôn ngữ chung của các ví dụ HTTP: tài liệu API, file xuất từ Postman và tính năng “Copy as cURL” của mọi trình duyệt đều tạo ra lệnh curl. Nếu tự viết lại thủ công cho ứng dụng của bạn, bạn phải gõ lại header, escape JSON và nhớ cách từng HTTP client xử lý form cũng như xác thực. Công cụ này phân tích lệnh giống cách shell POSIX và curl xử lý, rồi sinh ra code đúng chuẩn cho thư viện client bạn đang dùng.
Các tùy chọn curl được hỗ trợ
| Tùy chọn | Được chuyển thành |
|---|---|
-X, --request | Phương thức HTTP (mặc định là GET, hoặc POST khi có body) |
-H, --header, -A, -e, -b | Header của request, bao gồm User-Agent, Referer và Cookie |
-d, --data, --data-raw, --data-binary, --data-urlencode | Body của request (mặc định mã hóa dạng form, giống curl); @file sẽ đọc từ file |
--json | Body JSON kèm Content-Type và Accept: application/json |
-F, --form | Dữ liệu form multipart, bao gồm tải file lên với ;type= và ;filename= |
-u, --user, --oauth2-bearer | Xác thực Basic hoặc Bearer token |
-G, --get, --url-query | Dữ liệu được nối vào query string của URL |
-I, -L, -k, -m, -x, --compressed | Request HEAD, chuyển hướng, kiểm tra TLS, timeout, proxy và nén dữ liệu, khi thư viện hỗ trợ |
Cách đặt dấu nháy tuân theo quy tắc của shell: dấu nháy đơn, dấu nháy kép có escape bằng dấu gạch chéo ngược, chuỗi ANSI-C $'…' (Chrome dùng kiểu này cho body có chứa dấu nháy) và ký tự nối dòng. Các lệnh “Copy as cURL (cmd)” trên Windows có escape bằng ^ cũng được nhận diện và chuyển đổi. Các cờ chỉ dùng cho đầu ra như -s, -v hoặc -o sẽ bị bỏ qua. Mọi thứ không được hỗ trợ đều được liệt kê trong phần ghi chú, không bị bỏ đi âm thầm.
Chọn đích đến phù hợp
- JavaScript fetch: có sẵn trong mọi trình duyệt. Request cross-origin còn cần máy chủ gửi header CORS, và trình duyệt không cho đặt các header như
CookiehoặcHost. Công cụ sẽ cảnh báo khi điều này xảy ra. - Node.js fetch: có sẵn từ Node 18 trở lên, không cần cài thêm thư viện. Tải file lên sử dụng
fs.openAsBlob. - Axios: phổ biến nhờ interceptor và tự động xử lý JSON.
- Python requests: body JSON được chuyển thành dictionary và truyền qua
json=. Form được chuyển thành dictionary truyền quadata=. - PHP cURL: dùng
curl_setopt_arrayvới các hằngCURLOPT_*tương ứng, phù hợp với code WordPress hoặc Laravel mà không cần thêm package. - Go net/http: một file
main.gohoàn chỉnh, có xử lý lỗi và hỗ trợ multipart.
Lưu ý bảo mật
Lệnh sao chép từ DevTools thường chứa cookie phiên đăng nhập và access token. Việc chuyển đổi chạy hoàn toàn trên trình duyệt của bạn, lệnh không được gửi đi đâu cả và cũng không được thêm vào URL. Tuy vậy, hãy xóa các thông tin nhạy cảm trước khi commit code, và nên đọc chúng từ biến môi trường. Muốn thử request ngay? Hãy dùng API Tester. Cần kiểm tra token trong lệnh? Dán token vào JWT Decoder.
Cũng được tìm dưới tên: curl sang fetch, curl sang python, curl sang javascript, curl sang axios, curl sang php, curl sang go, convert curl, curl to code online.
Các công cụ dùng kèm tốt với Chuyển cURL sang Code
- Mã hóa / Giải mã Base64 — Chuyển văn bản sang Base64 và ngược lại với hỗ trợ đầy đủ UTF-8 (dấu tiếng Việt, emoji), chuyển sang Base64 an toàn cho URL, hoặc thả tệp vào để lấy chuỗi Base64 hay data URI.
- Mã hóa / Giải mã URL — Mã hóa văn bản để dùng an toàn trong URL, giải mã chuỗi đã mã hóa về dạng dễ đọc và tách mọi URL thành các phần cùng tham số truy vấn.
- Định dạng JSON — Dán JSON để định dạng đẹp, nén hoặc kiểm tra.
- Kiểm tra HTTP Header — Nhập bất kỳ URL nào và xem chính xác máy chủ trả về gì: mã trạng thái, chuỗi chuyển hướng và mọi response header, kèm giải thích dễ hiểu cho những header quan trọng với SEO, cache và bảo mật.
Câu hỏi thường gặp
Có an toàn không khi dán lệnh curl chứa API key hoặc cookie của tôi?
Làm sao để sao chép một request dưới dạng curl từ Chrome?
Tại sao dữ liệu <code>-d</code> của tôi được gửi dưới dạng form chứ không phải JSON?
-d đặt Content-Type: application/x-www-form-urlencoded, trừ khi bạn tự truyền header riêng. Hãy thêm -H 'Content-Type: application/json' hoặc dùng --json, khi đó công cụ sẽ tạo body JSON.Điều gì xảy ra với tải file như <code>-F file=@photo.jpg</code>?
FormData trong JavaScript, files= trong Python, CURLFile trong PHP và mime/multipart trong Go. Các đoạn code này trỏ đến cùng một đường dẫn file cục bộ, và bạn có thể cần điều chỉnh lại đường dẫn đó.Công cụ có tự động theo chuyển hướng như <code>curl -L</code> không?
-L. Với PHP, công cụ sẽ thêm CURLOPT_FOLLOWLOCATION khi lệnh có -L.