Trình phân tích URL
Khi một webhook gặp lỗi hoặc một liên kết theo dõi mang theo các tham số sai, cách nhanh nhất là tách URL ra và đọc từng phần. Dán bất kỳ URL nào và trình phân tích này sẽ chia nó thành các thành phần: scheme, tên người dùng và mật khẩu, host, port, path, chuỗi truy vấn và fragment, rồi trải chuỗi truy vấn ra thành một bảng gồm từng cặp khóa và giá trị. Công cụ chạy trên máy chủ của chúng tôi bằng trình phân tích URL tiêu chuẩn của PHP, nên bạn thấy chính xác cách một backend PHP đọc cùng liên kết đó.
Cách phân tích một URL
-
1
Dán URL
Nhập bất kỳ URL nào, tuyệt đối hoặc tương đối. Không cần bấm gì cả: nó được phân tích ngay khi bạn gõ.
-
2
Đọc các thành phần
Bảng được điền bằng scheme, host, port, người dùng, mật khẩu, path, query và fragment tìm được. Những phần trống hiển thị một dấu gạch.
-
3
Trải rộng chuỗi truy vấn
Mỗi cặp `key=value` xuất hiện trên một hàng riêng, với phần trăm mã hóa và `+` được giải mã thành ký tự thật.
-
4
Sao chép các tham số
Nút sao chép lấy toàn bộ tham số truy vấn cùng lúc dưới dạng các dòng `key=value`, sẵn sàng dán vào một API client.
Giải phẫu của một URL
Lấy URL này: https://user:pass@api.example.com:8443/v1/users?page=2&sort=name#profile. Trình phân tích chia nó thành:
| Thành phần | Giá trị |
|---|---|
| scheme | https |
| user | user |
| pass | pass |
| host | api.example.com |
| port | 8443 |
| path | /v1/users |
| query | page=2&sort=name |
| fragment | profile |
Sau đó, chuỗi truy vấn được trải ra thành một bảng riêng: page = 2 và sort = name.
Cách đọc chuỗi truy vấn
- Các giá trị được giải mã khỏi phần trăm mã hóa và
+trở thành dấu cách, nênq=hello%20worldvàq=hello+worldđều được đọc làhello world. - Một cặp được tách tại dấu
=đầu tiên, nêntoken=a=b=cgiữ nguyêna=b=clàm giá trị. - Các khóa lặp lại chỉ giữ giá trị cuối cùng:
?id=1&id=2trả vềid=2. Để giữ mọi giá trị, hãy dùng cú pháp mảngid[]=1&id[]=2, giá trị này sẽ hiển thị dưới dạng danh sách. - Các khóa trong dấu ngoặc vuông như
filter[status]=opentrở thành một cấu trúc lồng nhau, hiển thị dưới dạng JSON.
Port, path và fragment
- Port được hiển thị đúng như cách nó được viết. Không có gì được thêm vào hay bỏ đi, nên
:443hiển thị là443và một URL không có port sẽ để trống hàng đó. - Một dấu gạch chéo ở cuối làm thay đổi path:
https://a.comcó path rỗng, cònhttps://a.com/có path là/. - Fragment (sau dấu
#) là giá trị chỉ trình duyệt dùng để cuộn tới một điểm neo hoặc điều khiển router phía máy khách. Nó không bao giờ đến máy chủ, nên bất kỳ thứ gì backend cần đọc đều phải nằm trong chuỗi truy vấn. - Host được trả về đúng như cách bạn nhập; trình phân tích này không chuyển đổi các tên miền quốc tế hóa (không phải ASCII) sang hay từ Punycode.
Câu hỏi thường gặp
Có. Một liên kết tương đối như /v1/users?ref=nav không có scheme hay host, nên những hàng đó để trống trong khi path và query vẫn được điền. Chỉ một URL sai định dạng, ví dụ có port không phải số như http://a.com:port, mới bị từ chối hoàn toàn.
Chỉ giá trị cuối cùng được giữ lại, nên ?id=1&id=2 trả về id = 2, đúng như cách một backend PHP đọc. Nếu bạn cần mọi giá trị, hãy dùng cú pháp mảng id[]=1&id[]=2 và chúng sẽ hiển thị dưới dạng danh sách.
Trình phân tích báo cáo port đúng như cách nó được viết. Nó không bao giờ bỏ port mặc định hay thêm port còn thiếu, nên một URL không có port sẽ hiển thị hàng trống và https://a.com:443 hiển thị 443.
URL được gửi tới máy chủ của chúng tôi để phân tích, vì công cụ này chạy trên máy chủ chứ không chỉ trong trình duyệt của bạn. Chúng tôi không lưu chính các URL đó; chúng tôi chỉ ghi lại một số đếm ẩn danh rằng trình phân tích đã được dùng.
Công cụ liên quan
Bảng tham chiếu ASCII
Bảng ASCII đầy đủ từ 0 đến 127 với giá trị thập phân, thập lục phân, bát phân, nhị phân và ký hiệu tham chiếu ký tự số HTML, gồm NUL, LF và DEL.
Tham chiếu ký tự HTML
Danh sách có thể tìm kiếm các thực thể HTML, mã tên và mã số tương ứng của chúng, cùng chức năng sao chép chỉ với một cú nhấp cho các ký tự đặc biệt và biểu tượng.
Bảng tham khảo phím tắt
Tìm phím tắt mặc định theo tài liệu của VS Code, Chrome và Bash dùng GNU Readline trên macOS, Windows và Linux.
Trình giải mã mã JavaScript (JavaScript Deobfuscator)
Giải mã mã JavaScript đã được rút gọn hoặc nén bằng cách đổi tên biến, giải mã chuỗi và mảng, đảo ngược cấu trúc dòng điều khiển và làm đẹp mã.
Chuyển đổi từ RGB sang CMYK
Chuyển màu RGB thành phần trăm mực CMYK bằng công thức tiêu chuẩn. Xem trước tức thì và các giá trị C/M/Y/K. Đây là phép xấp xỉ toán học, không phải chuyển đổi có quản lý màu.
Trình chuyển ASCII sang Hex
Biến văn bản ASCII thành giá trị byte thập lục phân. Đầu ra dùng hai chữ số hex cho mỗi ký tự, sẵn sàng cho memory dump, packet trace hoặc bảng firmware.
Công cụ này có phiên bản bằng các ngôn ngữ khác
- Analizador de URL [ES]
- Parser URL [PL]
- ตัวแยกวิเคราะห์ URL [TH]
- URLパーサー [JA]
- Analisador de URL [PT]
- URL-parser [SV]
- Analyseur d'URL [FR]
- URL 파서 [KO]
- محلل عناوين URL [AR]
- URL-Parser [DE]
- URL Parser [ID]
- URL-parser [NL]
- URL Parser [EN]
- Parser URL [IT]
- Парсер URL [RU]
- URL Ayrıştırıcı [TR]
- URL解析器 [ZH]