Penghurai URL
Penghurai URL ialah alat percuma yang memisahkan alamat web kepada skema, laluan dan rentetan pertanyaannya.
Apakah yang diekstrak oleh penghurai URL?
Penghurai URL mengenal pasti komponen struktur alamat web tanpa perlu memisahkan teks secara manual. Alat ini mengembalikan tiga medan yang dihasilkan melalui fungsi parse_url PHP.
- Skema mengenal pasti protokol atau skema pengalamatan, seperti https atau http.
- Laluan mengenal pasti komponen laluan, seperti /account/orders/42.
- Pertanyaan mengandungi teks selepas tanda soal yang memulakan komponen pertanyaan dan sebelum sebarang tanda pagar yang tidak dikodkan, seperti page=2&sort=date.
Penghuraian berguna apabila anda memeriksa permintaan API, URL panggil balik, log aplikasi atau data pihak ketiga. Anda boleh membezakan maklumat penghalaan daripada parameter pertanyaan sebelum menyahpepijat, merekodkan atau mengubah alamat tersebut.
Medan yang dikembalikan tidak menyertakan nama hos, port atau fragmen secara berasingan. Jika anda memerlukan komponen tersebut, gunakan pustaka penghuraian URL yang lebih lengkap dalam aplikasi anda.
Bagaimanakah cara menggunakan Penghurai URL?
Masukkan URL lengkap atau separa, kemudian periksa nilai skema, laluan dan pertanyaan yang dikembalikan oleh alat ini. URL mutlak yang lengkap biasanya memberikan hasil paling jelas kerana skemanya dinyatakan secara terang.
- Salin URL daripada pelayar, respons API, rekod webhook atau log pelayan.
- Sertakan rentetan pertanyaan jika anda perlu memeriksa nama atau nilai parameter.
- Bandingkan laluan yang dikembalikan dengan laluan yang dijangkakan oleh aplikasi anda.
- Semak sama ada skema dan pertanyaan disertakan apabila diperlukan oleh integrasi anda.
Proses ini dilakukan pada pelayan. Input anda dihantar ke pelayan melalui HTTPS dan tidak disimpan. Walaupun begitu, elakkan daripada menyerahkan token akses aktif, pautan muat turun bertandatangan, pengecam sesi atau bukti kelayakan lain jika contoh yang telah disunting sudah memadai untuk menjawab soalan yang sama.
Contoh penggunaan dan cara mentafsir hasil
Untuk URL API mutlak, penghurai memisahkan protokol daripada laluan dan rentetan pertanyaan mentah.
Input https://api.example.co.uk/v1/orders/42?expand=items¤cy=GBP
Skema https
Laluan /v1/orders/42
Pertanyaan expand=items¤cy=GBP
Pertanyaan dikembalikan sebagai satu komponen. Mengikut kelaziman borang dan rentetan pertanyaan, ampersan memisahkan medan, manakala tanda sama dengan yang pertama dalam setiap medan memisahkan nama daripada nilainya. Penghuraian URL sahaja tidak mengesahkan bahawa expand atau currency ialah parameter yang dikenali oleh API.
Rujukan relatif juga boleh mengandungi laluan dan pertanyaan tanpa menyatakan skema.
Input /search?q=red%20shoes&page=2
Skema tiada komponen skema
Laluan /search
Pertanyaan q=red%20shoes&page=2
Ketiadaan skema lazimnya memang dijangkakan bagi pautan yang dijana dalam laman web yang sama. Namun, bagi data yang sepatutnya mengandungi URL panggil balik mutlak, hasil yang sama mungkin menunjukkan awalan https:// tiada.
Penghurai ini bukan pengesah URL. Ia boleh membantu mengesan struktur yang mencurigakan, seperti skema yang tiada, laluan yang tidak dijangka atau teks pertanyaan di tempat yang salah. Namun, hasil penghuraian tidak membuktikan bahawa alamat itu wujud, berjaya dileraikan dalam DNS atau mengembalikan respons HTTP yang berjaya.
Apakah yang berlaku kepada ruang, tanda baca dan input luar biasa?
Aksara khas mempengaruhi cara URL dibahagikan, manakala aksara yang dikodkan biasanya kekal dalam komponen tempat aksara itu berada. Penghurai ini memisahkan komponen, bukannya menyahkod atau menormalkan kandungannya.
- Tanda soal yang tidak dikodkan memulakan komponen pertanyaan. Tanda soal literal yang dimaksudkan sebagai data di luar pertanyaan sedia ada perlu dikodkan dengan peratus jika tanda itu sebaliknya akan bertindak sebagai pembatas pertanyaan.
- Ampersan lazimnya memisahkan parameter pertanyaan, tetapi alat ini mengembalikan rentetan pertanyaan lengkap dan bukannya mentafsir setiap parameter secara berasingan.
- Tanda pagar (#) yang tidak dikodkan ialah pembatas fragmen dalam sintaks URL standard. Data fragmen bukan salah satu medan yang dikembalikan di sini.
- Ruang biasanya perlu dikodkan, lazimnya sebagai %20. Tanda tambah boleh mewakili ruang dalam data pertanyaan berkod borang, tetapi tafsiran itu merupakan sebahagian daripada penyahkodan pertanyaan, bukannya penghuraian URL.
- Teks beraksen dan teks bukan Latin dalam laluan atau pertanyaan perlu menggunakan pengekodan peratus UTF-8 apabila dikehendaki oleh sistem penerima. Nama domain berantarabangsa menggunakan bentuk serasi ASCII untuk keserasian protokol yang luas.
- Nombor tidak mempunyai tingkah laku penghuraian khas. Nombor kekal sebagai aksara biasa dalam laluan atau nilai pertanyaan.
Input kosong tidak mempunyai struktur URL berguna untuk diperiksa. URL yang sangat panjang juga mungkin tertakluk pada had di tempat lain, termasuk dalam pelayar, pelayan web, proksi dan rangka kerja aplikasi. Alat ini tidak menentukan sama ada sistem lain akan menerima URL dengan panjang tertentu.
Bilakah URL wajar dihuraikan?
Penghuraian berbaloi dilakukan apabila anda perlu mendiagnosis struktur sesuatu alamat sebelum kod atau infrastruktur memprosesnya. Antara situasi lazim ialah menyemak alamat panggil balik webhook sebelum pelaksanaan, meneliti sasaran ubah hala, memisahkan laluan API daripada penapis dan membaca URL yang disalin daripada log proksi songsang.
Penghuraian biasanya tidak diperlukan jika URL yang diketahui dan sudah berstruktur hanya akan diproses oleh mesin, sedangkan aplikasi anda sudah menggunakan pustaka URL. Ia juga bukan operasi yang sesuai jika anda perlu menguji ketersediaan, mengikuti ubah hala, menyahkod setiap parameter pertanyaan atau mengesahkan sama ada sesuatu domain boleh dipercayai.
Untuk kerja berulang atau automatik, gunakan kemudahan URL terbina dalam persekitaran anda. PHP menyediakan parse_url, JavaScript dalam pelayar mempunyai antara muka URL, Node.js menyediakan kelas URL dan Python menyertakan urllib.parse. Skrip baris perintah yang ringkas lebih sesuai daripada penghuraian manual apabila memproses fail log yang mengandungi beribu-ribu alamat.
Jangan huraikan URL semata-mata untuk memformatkannya semula jika URL itu sudah mempunyai bentuk tepat yang diperlukan oleh sistem penerima. Mengekod semula atau membina semula alamat tanpa sebab yang jelas boleh mengubah tandatangan pertanyaan, parameter pendua atau aksara khas.
Soalan lazim
Bolehkah saya menghuraikan URL tanpa http atau https?
Ya, fungsi parse_url PHP boleh mentafsir rujukan relatif dan URL separa, walaupun skema tidak akan tersedia jika tidak diberikan. Berhati-hati dengan alamat relatif skema yang bermula dengan dua garis miring kerana maknanya bergantung pada dokumen atau aplikasi yang menggunakannya.
Adakah parameter pertanyaan berulang akan dikekalkan?
Pertanyaan dikembalikan sebagai komponen mentah, jadi nama berulang boleh kekal dalam turutan asalnya. Cara nilai seperti tag=red&tag=blue ditukar kepada tatasusunan atau nilai berasingan bergantung pada penghurai rentetan pertanyaan yang digunakan selepas itu.
Selamatkah saya menampal URL bertandatangan?
Input dihantar melalui HTTPS dan tidak disimpan, tetapi URL bertandatangan masih boleh memberikan akses kepada kandungan peribadi selagi tandatangannya sah. Sunting token tersebut atau gantikan nama hos dan nilai dengan ruang letak yang mewakili data sebenar apabila bukti kelayakan tepat tidak diperlukan.
Mengapakah URL yang kelihatan sah berfungsi secara berbeza dalam aplikasi saya?
Perbezaan boleh berlaku akibat penyahkodan pertanyaan dan penormalan Unicode yang khusus kepada rangka kerja. Aplikasi juga mungkin menggunakan peraturan tambahan selepas penghuraian, termasuk senarai nama hos yang dibenarkan dan sekatan ubah hala. Bandingkan URL mentah bait demi bait, kemudian semak perkara yang dinyahkod atau ditulis semula oleh aplikasi anda sebelum permintaan dihantar.
Alat popular
Jana tandatangan tersuai anda sendiri dengan mudah dan muat turunnya dengan mudah.
Gunakan alat ping kami untuk menyemak status dan masa tindak balas mana-mana laman web, pelayan atau port dengan cepat dan cekap.
Alat carian IP Digily Link memberikan maklumat terperinci tentang mana-mana alamat IP. Gunakan perkhidmatan dalam talian percuma ini untuk mendapatkan data IP yang menyeluruh.
Jana pautan WhatsApp percuma anda serta-merta dengan Penjana Pautan WhatsApp kami. Tambah mesej tersuai dan mulakan sembang dengan satu klik, tanpa perlu log masuk atau menulis kod.