Trình chuyển đổi cURL

Bước 1 / 4Trình chuyển đổi cURL

Dán lệnh cURL

Tối đa 256 KiB, 4.096 token shell, 200 header và 128 KiB dữ liệu nội dung.

Chuyển một lệnh cURL kiểu POSIX thành mã Fetch trên trình duyệt, fetch Node.js, Python Requests hoặc PHP cURL mà không chạy yêu cầu. Công cụ hiểu các phương thức phổ biến, header lặp, nội dung inline, trường mã hóa URL, xác thực cơ bản, cookie, trường multipart chỉ có văn bản, chuyển hướng và nén. Các tùy chọn đọc tệp, dùng chứng chỉ hoặc proxy hay ghi đầu ra đều bị chặn. Bạn có thể xem chính xác nội dung đã được phân tích trước khi tạo mã. Lệnh tối đa 256 KiB luôn nằm trong trình duyệt.

Cách hoạt động

  1. 1

    Dán lệnh

    Nhập một lệnh cURL kiểu POSIX. Dấu nháy shell và phần nối dòng đã escape được phân tích cục bộ, không bị thực thi.

  2. 2

    Kiểm tra yêu cầu

    Kiểm tra URL, phương thức, header, nội dung, trường biểu mẫu, cảnh báo và mọi tùy chọn bị chặn.

  3. 3

    Chọn đích

    Tạo mã Fetch trên trình duyệt, fetch Node.js, Python Requests hoặc PHP cURL, sau đó sao chép hoặc tải xuống.

Những gì trình chuyển đổi giữ nguyên

Bộ phân tích tuân theo các quy tắc đặt dấu nháy POSIX phổ biến cho một lệnh cURL. Công cụ hỗ trợ -X/--request, -H/--header lặp, -d/--data/--data-raw, --data-urlencode, -u/--user, -b/--cookie, -F/--form chỉ có văn bản, -L--compressed. Các phần nối dòng đã escape được ghép lại trước khi tách token. Trang hướng dẫn cURL chính thức cho biết tùy chọn header và biểu mẫu có thể lặp lại. Công cụ giữ nguyên thứ tự và cảnh báo khi thư viện đích có thể gộp các tên trùng nhau.

Đầu vào cURL Mã tương đương được tạo Giới hạn quan trọng
-H 'Name: value' Tập hợp header của đích Tên trùng có thể bị gộp
-d 'a=1' Nội dung yêu cầu dạng văn bản Nhiều giá trị được nối bằng &
--data-urlencode 'q=a b' Nội dung văn bản mã hóa phần trăm Biến thể đọc từ tệp bị chặn
-F 'name=value' Trường multipart dạng văn bản @file<file bị chặn
-L Tùy chọn theo chuyển hướng Bảo mật chuyển hướng vẫn phụ thuộc runtime

Fetch trên trình duyệt không thể đặt một số header yêu cầu bị cấm, trong đó có Cookie. Khi có chuỗi cookie, mã trình duyệt dùng credentials: "include" và cảnh báo rằng đây không phải cách thay thế hoàn toàn tương đương. MDN mô tả Fetch là giao diện của trình duyệt dành cho yêu cầu mạng. Mã được tạo chỉ là điểm khởi đầu: CORS, thông tin xác thực, chuyển hướng và chính sách máy chủ vẫn có hiệu lực.

Ranh giới an toàn

Công cụ không bao giờ thực thi lệnh hoặc liên hệ URL của lệnh. Các tùy chọn đọc hay tải tệp cục bộ lên, chọn chứng chỉ máy khách, cấu hình proxy, thay đổi cách phân giải máy chủ hoặc ghi đầu ra truyền tải đều bị chặn. Nhóm này gồm giá trị nội dung hoặc header @file, --upload-file, tùy chọn chứng chỉ và khóa, tùy chọn proxy cũng như tùy chọn đầu ra, cấu hình và theo dõi. Các tùy chọn không được hỗ trợ hoặc không xác định sẽ bị chặn thay vì bị đoán nghĩa.

Bí mật vẫn có thể xuất hiện trong mã được tạo. Hãy kiểm tra giá trị xác thực cơ bản, cookie và header ủy quyền trước khi lưu hoặc chia sẻ. Với Python, đầu ra tuân theo quy ước của API Requests về phương thức, header, xác thực và thời gian chờ. Đầu ra PHP dùng curl_setopt_array; hướng dẫn PHP giải thích rằng mỗi giá trị CURLOPT_* cấu hình handle truyền tải.

Quyền riêng tư và giới hạn

Việc phân tích và tạo mã diễn ra trong Alpine ngay trên trình duyệt này. Lệnh, yêu cầu đã phân tích và mã không bao giờ trở thành thuộc tính máy chủ của chúng tôi hay xuất hiện trong URL funnel. Trong quy trình bốn bước, lệnh và đích đã chọn được lưu tối đa hai giờ trong IndexedDB riêng của tab; bắt đầu lại sẽ xóa bản ghi. Giới hạn 4.096 token, 200 header và 128 KiB dữ liệu nội dung ngăn quá trình phân tích tăng vô hạn. Công cụ xử lý một URL HTTP hoặc HTTPS và không mô phỏng toàn bộ shell hay mọi tùy chọn cURL.

Câu hỏi thường gặp

Không. Công cụ chỉ tách token và chuyển đổi văn bản cục bộ. Nó không gửi yêu cầu, phân giải máy chủ, mở proxy hay đọc tệp được tham chiếu.

Tùy chọn tệp, chứng chỉ, proxy, phân giải tùy chỉnh, đầu ra và theo dõi có thể vượt khỏi ranh giới an toàn chỉ dành cho văn bản. Công cụ chặn chúng thay vì giả vờ rằng mã được tạo hoàn toàn tương đương.

JavaScript trên trình duyệt không thể đặt trực tiếp header Cookie. Mã trình duyệt dùng credentials: include để gửi cookie trình duyệt đã lưu cho yêu cầu same-site hoặc CORS được phép.

Không. Lệnh nằm trong bộ nhớ trình duyệt và IndexedDB tạm thời trong funnel. Tuy nhiên, mã được tạo vẫn có thể chứa chính các bí mật đó, vì vậy hãy xóa chúng trước khi chia sẻ hoặc commit.

Công cụ liên quan

Công cụ này có phiên bản bằng các ngôn ngữ khác