Chuyển đổi curl sang Node.js
Chuyển đổi các lệnh curl thành mã Node.js bằng mô-đun http tích hợp sẵn. curl2code chạy hoàn toàn trong trình duyệt của bạn thông qua WebAssembly — các khóa API và dữ liệu của bạn luôn được riêng tư. Đối với JavaScript phía trình duyệt, hãy xem trình chuyển đổi curl sang JavaScript của chúng tôi. Nếu bạn thích Python, hãy thử curl sang Python. Dưới đây bạn sẽ tìm thấy các ví dụ sẵn sàng sử dụng.
Cách sao chép curl từ trình duyệt của bạn
- 1
Mở DevTools
Nhấn F12 hoặc Ctrl+Shift+I để mở công cụ dành cho nhà phát triển của trình duyệt.
- 2
Đi tới tab Network
Nhấp vào tab Network và thực hiện hành động kích hoạt yêu cầu HTTP.
- 3
Sao chép dưới dạng cURL
Nhấp chuột phải vào yêu cầu → Sao chép → Copy as cURL. Sau đó dán nó vào bên trên.
Câu hỏi thường gặp
Module http của Node.js là gì?
Các module http và https là các module tích hợp sẵn của Node.js để thực hiện các yêu cầu HTTP mà không cần bất kỳ phụ thuộc nào. Chúng cung cấp khả năng kiểm soát cấp thấp đối với các luồng request/response. Đối với các lựa chọn thay thế cấp cao hơn, curl2code cũng hỗ trợ axios, node-fetch, got, ky và superagent.
http so với axios so với node-fetch so với got — tôi nên sử dụng cái nào?
http không có phụ thuộc nhưng khá dài dòng. axios cung cấp một API sạch sẽ với các interceptor và tự động phân tích cú pháp JSON. node-fetch mô phỏng Fetch API của trình duyệt. got giàu tính năng với khả năng thử lại, phân trang và stream. Chọn dựa trên nhu cầu dự án. Đối với JavaScript trình duyệt, hãy xem trình chuyển đổi curl sang JavaScript của chúng tôi.
Làm thế nào để xử lý xác thực trong Node.js?
Thiết lập header Authorization trong đối tượng options. Đối với xác thực Basic, sử dụng Buffer.from(user + ':' + pass).toString('base64'). Với axios, sử dụng tùy chọn cấu hình auth tích hợp sẵn. curl2code chuyển đổi các cờ -u và Bearer token cho tất cả các thư viện Node.js được hỗ trợ.
Làm thế nào để gửi dữ liệu form multipart trong Node.js?
Với module http tích hợp sẵn, hãy tự xây dựng body multipart hoặc sử dụng gói form-data. Với axios, truyền một instance FormData làm body. Node.js 18+ đã có lớp FormData tích hợp sẵn. curl2code xử lý các cờ -F cho từng biến thể thư viện.
Làm thế nào để xử lý lỗi HTTP trong Node.js?
Với http, hãy lắng nghe sự kiện 'error' trên request và kiểm tra response.statusCode. Với axios, lỗi sẽ được ném ra cho các mã trạng thái không phải 2xx và có thể được bắt trong try/catch. Với got, sử dụng cùng một mẫu cộng với logic thử lại tích hợp sẵn khi thất bại.
Làm thế nào để xử lý các phản hồi streaming trong Node.js?
Module http trả về một readable stream theo mặc định — hãy pipe nó với response.pipe(fs.createWriteStream('file')). Với got, sử dụng got.stream(url). Với axios, thiết lập responseType: 'stream'. Streaming lý tưởng cho các tệp lớn và tránh việc tải toàn bộ phản hồi vào bộ nhớ.
Làm thế nào để thiết lập timeout trong các yêu cầu HTTP của Node.js?
Với http, truyền timeout trong options và lắng nghe sự kiện 'timeout', sau đó gọi req.destroy(). Axios chấp nhận timeout tính bằng mili giây. Got hỗ trợ cả timeout.request và tự động thử lại tích hợp sẵn với backoff có thể cấu hình.
Làm thế nào để sử dụng proxy với Node.js?
Module http tích hợp sẵn yêu cầu thiết lập đường hầm proxy thủ công. Sử dụng các gói https-proxy-agent hoặc http-proxy-agent. Axios hỗ trợ proxy thông qua cấu hình proxy. Got sử dụng tùy chọn agent với các proxy agent. curl2code chuyển đổi các cờ -x và --proxy một cách thích hợp.
Làm thế nào để gửi một yêu cầu POST với thân JSON trong Node.js?
Chuyển đổi một lệnh curl POST như curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL sang Node.js bằng cách sử dụng curl2code. Mã được tạo sử dụng axios.post(url, { key: 'value' }). curl2code tự động phát hiện các cờ -d/--data với nội dung JSON và thiết lập header Content-Type phù hợp trong mã axios.
Làm thế nào để thêm xác thực Bearer token trong Node.js?
Cung cấp curl -H "Authorization: Bearer YOUR_TOKEN" URL cho curl2code và nó sẽ tạo mã axios với header xác thực: headers: { Authorization: 'Bearer YOUR_TOKEN' }. curl2code phát hiện Bearer tokens từ cả hai cờ -H "Authorization: Bearer ..." và --oauth2-bearer. Đối với Basic auth, hãy sử dụng -u user:pass.
Làm thế nào để thiết lập header Content-Type trong Node.js?
curl2code chuyển đổi curl -H "Content-Type: application/json" URL sang mã axios với header chính xác: headers: { 'Content-Type': 'application/json' }. Đối với dữ liệu -d, curl mặc định là application/x-www-form-urlencoded; đối với tải lên biểu mẫu -F, nó sử dụng multipart/form-data. curl2code ánh xạ từng loại tới axios API chính xác.