Chuyển lệnh curl sang mã API
Chuyển lệnh curl thành mã fetch, axios, Python requests, PHP, Go, Java, C#, Ruby, Node.js, wget hoặc HTTPie, kèm header, body và query dạng JSON.
Dán một lệnh curl, ví dụ lấy từ tài liệu API hoặc từ chức năng "Copy as cURL" của trình duyệt (bash hoặc Windows cmd), để nhận mã tương đương cho JavaScript fetch, axios, Python requests, PHP curl, Go net/http, Java HttpClient, C# HttpClient, Ruby Net::HTTP, Node.js http / https, wget và HTTPie. to chọn ngôn ngữ đích (phân tách bằng dấu phẩy, mặc định tất cả). Kết quả còn có request đã phân tích: phương thức, URL, tham số query, header, body (JSON, form, các phần multipart hoặc tham chiếu file) và thông tin xác thực, tiện để đưa vào bước HTTP của công cụ no-code.
Dòng lệnh được phân tích bằng bộ tách từ theo chuẩn shell POSIX do chúng tôi tự viết: nháy đơn, nháy kép, thoát ký tự bằng dấu gạch ngược, chuỗi ANSI-C $'…', xuống dòng bằng \, ^ (cmd) hoặc dấu backtick (PowerShell). Hỗ trợ các tuỳ chọn: -X, -H, -d / --data / --data-raw / --data-binary / --data-urlencode, --json, -F / --form, -u, --oauth2-bearer, -b, -A, -e, -k, -L, -I, -G, --compressed, -x, --url, --url-query, -o, -m, cờ ngắn ghép (-sSL) và dạng --opt=value.
Các tuỳ chọn chỉ ảnh hưởng hiển thị (-s, -v, -i, --retry…) được liệt kê trong ignored_options; tuỳ chọn chưa chuyển được nằm trong unsupported_options, còn warnings giải thích các chỗ gần đúng (đọc file bằng @, cookie từ file, nhiều URL). API không gửi request nào tới URL trong lệnh.
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
curl | body|query | string | có | Lệnh curl (hoặc gửi dạng body text thô). | |
to | body|query | string | không | all | Ngôn ngữ đích: fetch, axios, python, php, go, java, csharp, ruby, node, wget, httpie hoặc all (phân tách bằng dấu phẩy). |
Ví dụ
curl -X POST "https://apibox.io.vn/v1/curl-convert" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"curl":"curl -X POST https://api.example.com/v1/orders -H '\''Content-Type: application/json'\'' -u key:secret -d '\''{\"sku\":\"A1\",\"qty\":2}'\''","to":"python"}'const res = await fetch('https://apibox.io.vn/v1/curl-convert', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"curl": "curl -X POST https://api.example.com/v1/orders -H 'Content-Type: application/json' -u key:secret -d '{\"sku\":\"A1\",\"qty\":2}'",
"to": "python"
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://apibox.io.vn/v1/curl-convert",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"curl": "curl -X POST https://api.example.com/v1/orders -H 'Content-Type: application/json' -u key:secret -d '{\"sku\":\"A1\",\"qty\":2}'", "to": "python"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/curl-convert');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"curl":"curl -X POST https://api.example.com/v1/orders -H \'Content-Type: application/json\' -u key:secret -d \'{\\"sku\\":\\"A1\\",\\"qty\\":2}\'","to":"python"}',
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Kết quả trả về
{
"request": {
"method": "POST",
"url": "https://api.example.com/v1/orders",
"full_url": "https://api.example.com/v1/orders",
"query": {},
"headers": {
"Content-Type": "application/json"
},
"body": {
"type": "json",
"text": "{\"sku\":\"A1\",\"qty\":2}",
"json": {
"sku": "A1",
"qty": 2
}
},
"auth": {
"user": "key",
"password": "secret",
"type": "basic"
},
"follow_redirects": false,
"insecure": false,
"compressed": false
},
"code": {
"python": "import requests\n\njson_data = {\n \"sku\": \"A1\",\n \"qty\": 2,\n}\n\nresponse = requests.post(\"https://api.example.com/v1/orders\",\n json=json_data,\n auth=(\"key\", \"secret\"),\n allow_redirects=False,\n)\nprint(response.status_code, response.text)\n"
},
"targets": {
"python": "Python requests"
}
}
Ứng dụng
- Chuyển ví dụ curl trong tài liệu API thanh toán, vận chuyển sang mã PHP hoặc Python
- Chạy lại trong script một request sao chép từ DevTools của trình duyệt
- Lấy header và body dạng JSON cho bước HTTP của n8n, Make hay Apps Script
- Minh hoạ cùng một request HTTP bằng nhiều ngôn ngữ
Hỏi đáp
API có gọi tới URL trong lệnh của tôi không?
Không. API chỉ phân tích văn bản và sinh mã, không gửi request nào tới URL đó.
Lệnh có -d @file hoặc -F file=@anh.jpg thì sao?
Mã sinh ra sẽ đọc file được nêu tên (open(), fs.readFileSync, CURLFile, os.Open…) và có cảnh báo nhắc rằng file phải tồn tại ở nơi chạy mã.
Có hỗ trợ dạng "Copy as cURL (cmd)" của Windows không?
Có. Ký tự thoát ^ và xuống dòng bằng ^ của cmd, cũng như xuống dòng bằng backtick của PowerShell, đều được xử lý trước khi phân tích.
API liên quan
Tạo UUID
Sinh tối đa 1.000 UUID v4, UUID v7 theo thời gian, ULID, Nano ID hoặc mã hex ngẫu nhiên mỗi request. Ngẫu nhiên an toàn, hỗ trợ chữ in hoa.
⏱Phân tích biểu thức cron
Kiểm tra biểu thức cron và xem các lần chạy tiếp theo theo múi giờ bất kỳ, kèm mô tả dễ hiểu. Hỗ trợ cú pháp cron 5, 6 và 7 trường.
🕒Giờ & múi giờ
Lấy giờ hiện tại ở mọi múi giờ, đổi giữa các múi giờ và Unix timestamp (giây hoặc mili giây), kèm độ lệch UTC và thứ trong tuần cho tối đa 30 múi giờ.