ตัวแยกวิเคราะห์ URL
เมื่อ webhook ทำงานผิดพลาด หรือลิงก์ติดตามพาพารามิเตอร์ผิดมาด้วย วิธีที่เร็วที่สุดคือแยก URL ออกแล้วอ่านทีละส่วน วาง URL ใดก็ได้ แล้วตัวแยกวิเคราะห์นี้จะแยกมันออกเป็นส่วนประกอบ ได้แก่ scheme, ชื่อผู้ใช้และรหัสผ่าน, host, port, path, สตริง query และ fragment จากนั้นจะกาง query ออกเป็นตารางของคู่คีย์และค่า เครื่องมือทำงานบนเซิร์ฟเวอร์ของเราด้วยตัวแยกวิเคราะห์ URL มาตรฐานของ PHP คุณจึงเห็นได้พอดีว่าแบ็กเอนด์ PHP อ่านลิงก์เดียวกันนี้อย่างไร
วิธีแยกวิเคราะห์ URL
-
1
วาง URL
ใส่ URL ใดก็ได้ ไม่ว่าจะเป็นแบบสัมบูรณ์หรือสัมพัทธ์ ไม่มีอะไรต้องคลิก ระบบจะแยกวิเคราะห์ขณะที่คุณพิมพ์
-
2
อ่านส่วนประกอบ
ตารางจะเติม scheme, host, port, ผู้ใช้, รหัสผ่าน, path, query และ fragment ที่พบ ส่วนที่ว่างจะแสดงเป็นขีด
-
3
กาง query
คู่ `key=value` แต่ละคู่จะแสดงในแถวของตัวเอง โดย percent-encoding และ `+` จะถูกถอดรหัสเป็นอักขระจริง
-
4
คัดลอกพารามิเตอร์
ปุ่มคัดลอกจะนำพารามิเตอร์ query ทั้งหมดมาพร้อมกันในรูปบรรทัด `key=value` พร้อมวางลงในไคลเอนต์ API
กายวิภาคของ URL
ลองดู URL นี้: https://user:pass@api.example.com:8443/v1/users?page=2&sort=name#profile ตัวแยกวิเคราะห์จะแยกมันออกเป็น:
| ส่วนประกอบ | ค่า |
|---|---|
| scheme | https |
| user | user |
| pass | pass |
| host | api.example.com |
| port | 8443 |
| path | /v1/users |
| query | page=2&sort=name |
| fragment | profile |
จากนั้น สตริง query จะถูกกางออกเป็นตารางของตัวเอง: page = 2 และ sort = name
วิธีอ่านสตริง query
- ค่าจะถูกถอดรหัสจาก percent-encoding และ
+จะกลายเป็นช่องว่าง ดังนั้นq=hello%20worldและq=hello+worldจึงถูกอ่านเป็นhello worldเหมือนกัน - คู่หนึ่งจะถูกแยกที่
=ตัวแรก ดังนั้นtoken=a=b=cจึงเก็บa=b=cไว้เป็นค่า - คีย์ที่ซ้ำกันจะเก็บเฉพาะค่าสุดท้ายเท่านั้น:
?id=1&id=2จะคืนค่าid=2หากต้องการเก็บทุกค่า ให้ใช้ไวยากรณ์อาร์เรย์id[]=1&id[]=2ซึ่งจะแสดงเป็นรายการ - คีย์ที่มีวงเล็บเหลี่ยม เช่น
filter[status]=openจะกลายเป็นโครงสร้างซ้อนกันและแสดงเป็น JSON
พอร์ต, path และ fragment
- พอร์ต จะแสดงตามที่เขียนไว้พอดี ไม่มีการเพิ่มหรือลบอะไร ดังนั้น
:443จะแสดงเป็น443และ URL ที่ไม่มีพอร์ตจะเว้นแถวนั้นให้ว่าง - เครื่องหมายทับท้าย เปลี่ยน path:
https://a.comมี path ว่าง ขณะที่https://a.com/มี path เป็น/ - fragment (หลัง
#) เป็นค่าที่เบราว์เซอร์ใช้เท่านั้น เพื่อเลื่อนไปยัง anchor หรือขับเคลื่อน router ฝั่งไคลเอนต์ มันไม่เคยไปถึงเซิร์ฟเวอร์ ดังนั้นสิ่งใดที่แบ็กเอนด์ต้องอ่านควรอยู่ในสตริง query - host จะถูกคืนตามที่พิมพ์พอดี ตัวแยกวิเคราะห์นี้ไม่แปลงโดเมนที่รองรับสากล (ไม่ใช่ ASCII) เป็น Punycode หรือกลับกัน
คำถามที่พบบ่อย
ได้ ลิงก์สัมพัทธ์อย่าง /v1/users?ref=nav ไม่มี scheme หรือ host แถวเหล่านั้นจึงว่างไว้ ขณะที่ path และ query ยังคงถูกเติม เฉพาะ URL ที่มีรูปแบบผิด เช่น มีพอร์ตที่ไม่ใช่ตัวเลขอย่าง http://a.com:port เท่านั้นที่จะถูกปฏิเสธทั้งหมด
จะเก็บเฉพาะค่าสุดท้าย ดังนั้น ?id=1&id=2 จะคืนค่า id = 2 เหมือนกับที่แบ็กเอนด์ PHP อ่านทุกประการ หากคุณต้องการทุกค่า ให้ใช้ไวยากรณ์อาร์เรย์ id[]=1&id[]=2 แล้วค่าเหล่านั้นจะแสดงเป็นรายการ
ตัวแยกวิเคราะห์รายงานพอร์ตตามที่เขียนไว้พอดี มันจะไม่ลบพอร์ตเริ่มต้นหรือเติมพอร์ตที่ขาดหายเลย ดังนั้น URL ที่ไม่มีพอร์ตจะแสดงแถวว่าง และ https://a.com:443 จะแสดง 443
URL จะถูกส่งไปยังเซิร์ฟเวอร์ของเราเพื่อแยกวิเคราะห์ เพราะเครื่องมือนี้ทำงานบนเซิร์ฟเวอร์ ไม่ใช่แค่ในเบราว์เซอร์ของคุณ เราไม่เก็บตัว URL เอง เราบันทึกเพียงจำนวนครั้งแบบไม่ระบุตัวตนว่ามีการใช้ตัวแยกวิเคราะห์
เครื่องมือที่เกี่ยวข้อง
อ้างอิงตัวอักษร HTML
รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ
ตารางอ้างอิงแป้นพิมพ์ลัด
ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux
เครื่องสุ่มที่อยู่
สร้างระเบียนคล้ายที่อยู่ 1–20 รายการสำหรับแบบจำลองและการทดสอบ ด้วยรูปแบบประเทศแบบย่อ
ตารางอ้างอิง ASCII
ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL
ตัวลดรูปพีชคณิตบูลีน
ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^
ตัวสร้างลูกศร CSS
สร้างลูกศร CSS ในเบราว์เซอร์ด้วยทิศทาง สี ขนาด และความหนาของเส้นขอบ แล้วคัดลอกกฎ.
เครื่องมือนี้มีให้บริการในภาษาอื่น
- Analizador de URL [ES]
- Trình phân tích URL [VI]
- URL 파서 [KO]
- Analisador de URL [PT]
- URL Parser [ID]
- URL-Parser [DE]
- محلل عناوين URL [AR]
- Parser URL [PL]
- URLパーサー [JA]
- Analyseur d'URL [FR]
- URL-parser [NL]
- URL-parser [SV]
- URL Parser [EN]
- Parser URL [IT]
- Парсер URL [RU]
- URL Ayrıştırıcı [TR]
- URL解析器 [ZH]