Bộ tạo chuỗi truy vấn

=

Hãy tạo một chuỗi truy vấn được mã hóa đúng cách từ danh sách các cặp khóa–giá trị. Bộ xây dựng xử lý các ký tự bảo tồn, khoảng trắng và dữ liệu đầu vào không phải ASCII theo đúng yêu cầu của RFC 3986, nhờ đó bạn có thể đưa kết quả trực tiếp vào URL mà không gặp sự cố khi xử lý dấu & hoặc dấu bằng.

Cách tạo chuỗi truy vấn

  1. 1

    Thêm các cặp của bạn

    Nhập tên và giá trị của mỗi tham số. Thêm các dòng để cho thêm các khóa khác.

  2. 2

    Hãy thực hiện việc mã hóa.

    Khoảng trắng trở thành %20, văn bản không thuộc ASCII được mã hóa phần trăm theo UTF-8, còn các ký tự dành riêng như & = # ? được mã hóa an toàn.

  3. 3

    Sao chép kết quả đầu ra

    Đặt ký hiệu ? trước URL của bạn hoặc dán nó vào Postman, curl hoặc một lệnh fetch().

Điều gì được mã hóa

Theo RFC 3986, mọi giá trị nằm ngoài tập hợp không được dành riêng (A-Z a-z 0-9 - _ . ~) đều phải được mã hóa theo tỷ lệ phần trăm trong thành phần truy vấn. Trong thực tế, điều này có nghĩa là:

Chữ ký Được mã hóa thành Vì sao
không gian %20 hoặc + Không rõ ràng tùy theo ngữ cảnh
& %26 Tách các cặp ký tự, có thể làm đứt chuỗi
= %3D Tách phần khóa khỏi giá trị
# %23 Bắt đầu đoạn văn
? %3F Khởi động chính câu truy vấn
/ %2F An toàn trong hành trình, rủi ro trong giá trị

Các phím lặp lại

Mỗi dòng được mã hóa riêng và giữ nguyên thứ tự. Nhập tag hai lần sẽ tạo tag=a&tag=b. Nếu máy chủ cần ký hiệu ngoặc vuông, hãy nhập tag[] làm khóa. Công cụ không tự đoán quy ước của framework.

Những mẹo nhỏ

  • Luôn mã hóa các giá trị do người dùng cung cấp; tuyệt đối không kết hợp chúng dưới dạng nguyên thủy vào URL.
  • Nếu một giá trị có dạng nhị phân, hãy mã hóa nó bằng định dạng base64 trước khi đưa vào.

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

Công cụ luôn biểu diễn khoảng trắng bằng %20 theo RFC 3986. Bộ phân tích cũng chấp nhận + và chuyển nó thành khoảng trắng trong truy vấn biểu mẫu.

Hãy lặp lại khóa: tags=php&tags=laravel. Một số framework yêu cầu sử dụng ký hiệu ngoặc như tags[]=php&tags[]=laravel; hãy đảm bảo phù hợp với cách giải mã của hệ thống backend của bạn.

Đó là phương thức mã hóa thực thể HTML được sử dụng bởi trình xử lý mẫu của bạn, chứ không phải chuỗi truy vấn bản thân. Hãy đảm bảo không thực hiện việc đánh dấu chuỗi đầu ra bằng ký tự đặc biệt kép khi hiển thị bên trong thẻ <href>.

Không có một giới hạn thực tế chung; trình duyệt, proxy, CDN và máy chủ áp dụng mức khác nhau. Hãy dùng phần thân yêu cầu cho dữ liệu lớn.

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