Parser URL

Extrageți informații detaliate din orice URL folosind instrumentul nostru de analiză a URL-urilor pentru o analiză precisă a adreselor web.

5 din 2 evaluări
Parser URL

Parser URL este un instrument gratuit care separă o adresă web în schemă, cale și șir de interogare.

Ce extrage un parser URL?

Un parser URL identifică elementele structurale ale unei adrese web, fără să fie nevoie să separi manual textul. Instrumentul returnează trei câmpuri generate prin funcția parse_url din PHP.

  • Schemă indică protocolul sau schema de adresare, cum ar fi https ori http.
  • Cale indică traseul din adresă, de exemplu /account/orders/42.
  • Interogare conține textul aflat după semnul întrebării care începe componenta de interogare și înaintea oricărui semn diez necodificat, de exemplu page=2&sort=date.

Analiza este utilă când verifici solicitări API, URL-uri de callback, jurnale de aplicație sau date provenite de la terți. Astfel, poți separa informațiile de rutare de parametrii interogării înainte să depanezi, să înregistrezi sau să transformi adresa.

Câmpurile returnate nu includ separat numele gazdei, portul sau fragmentul. Dacă ai nevoie de aceste componente, folosește în aplicația ta o bibliotecă mai completă pentru analizarea URL-urilor.

Cum folosesc Parser URL?

Introdu URL-ul complet sau parțial și verifică valorile returnate pentru schemă, cale și interogare. Un URL absolut complet oferă de obicei cel mai clar rezultat, deoarece specifică explicit schema.

  1. Copiază URL-ul din browser, din răspunsul API, din înregistrarea webhookului sau din jurnalul serverului.
  2. Include șirul de interogare dacă vrei să verifici numele ori valorile parametrilor.
  3. Compară calea returnată cu ruta așteptată de aplicația ta.
  4. Verifică dacă schema și interogarea sunt prezente acolo unde integrarea ta le impune.
Instrumentul Parser URL pe digily.link, cu formularul său de introducere

Procesarea are loc pe server. Datele introduse sunt trimise serverului prin HTTPS și nu sunt stocate. Chiar și așa, evită să trimiți tokenuri de acces active, linkuri de descărcare semnate, identificatori de sesiune sau alte date de autentificare atunci când un exemplu anonimizat este suficient.

Exemple practice și interpretarea rezultatelor

Pentru un URL API absolut, parserul separă protocolul de rută și de șirul de interogare neprelucrat.

Intrare https://api.example.co.uk/v1/orders/42?expand=items&currency=GBP

Schemă https

Cale /v1/orders/42

Interogare expand=items&currency=GBP

Interogarea este returnată ca o singură componentă. Conform convenției uzuale pentru formulare și șiruri de interogare, caracterul ampersand separă câmpurile, iar primul semn egal din fiecare câmp separă numele de valoare. Simpla analizare a URL-ului nu confirmă că expand sau currency este un parametru recunoscut de API.

O referință relativă poate conține, la rândul ei, o cale și o interogare fără să specifice o schemă.

Intrare /search?q=red%20shoes&page=2

Schemă no scheme component

Cale /search

Interogare q=red%20shoes&page=2

Absența schemei este adesea normală pentru linkurile generate în cadrul aceluiași site. Totuși, în datele care ar trebui să conțină URL-uri de callback absolute, același rezultat poate indica lipsa prefixului https://.

Acest parser nu este un validator de URL-uri. Te poate ajuta să observi o structură suspectă, cum ar fi lipsa schemei, o cale neașteptată sau un text de interogare aflat în locul greșit. Totuși, un rezultat analizat nu dovedește că adresa există, că poate fi rezolvată prin DNS sau că returnează un răspuns HTTP reușit.

Exemplu de rezultat produs de instrumentul Parser URL

Ce se întâmplă dacă introduc spații, semne de punctuație sau valori neobișnuite?

Caracterele rezervate influențează modul în care este împărțit un URL, în timp ce caracterele codificate rămân, în general, în componenta din care fac parte. Parserul separă componentele, fără să le decodifice sau să le normalizeze conținutul.

  • Un semn de întrebare necodificat începe componenta de interogare. Dacă un semn de întrebare literal este folosit ca dată în afara unei interogări existente, acesta trebuie codificat procentual atunci când altfel ar fi interpretat drept delimitatorul interogării.
  • Caracterul ampersand separă în mod obișnuit parametrii interogării, dar instrumentul returnează șirul de interogare complet, nu o interpretare a fiecărui parametru în parte.
  • Un semn diez (#) necodificat este delimitatorul fragmentului în sintaxa URL standard. Datele fragmentului nu se numără printre câmpurile returnate aici.
  • Spațiile trebuie, în mod normal, codificate, de obicei ca %20. Semnul plus poate reprezenta un spațiu în datele de interogare codificate ca formular, însă această interpretare ține de decodificarea interogării, nu de analizarea URL-ului.
  • Textul cu diacritice sau caractere non-latine din cale ori interogare trebuie codificat procentual în UTF-8 atunci când sistemul receptor impune acest lucru. Numele de domenii internaționalizate folosesc forma compatibilă ASCII pentru o compatibilitate largă cu protocoalele.
  • Numerele nu beneficiază de un comportament special la analizare. Ele rămân caractere obișnuite într-o cale sau într-o valoare de interogare.

O intrare goală nu are o structură URL utilă care să poată fi analizată. URL-urile foarte lungi pot întâmpina și limite impuse în alte părți, inclusiv în browsere, servere web, servere proxy și frameworkuri de aplicații. Acest instrument nu stabilește dacă un alt sistem va accepta un URL de o anumită lungime.

Când merită să analizez un URL?

Analizarea merită făcută atunci când trebuie să înțelegi structura unei adrese înainte ca aceasta să fie prelucrată de cod sau de infrastructură. Printre cazurile obișnuite se numără verificarea adreselor de callback pentru webhookuri înainte de implementare, examinarea destinațiilor de redirecționare, separarea rutelor API de filtre și citirea URL-urilor copiate din jurnalele unui proxy invers.

De obicei, analiza nu este necesară dacă URL-ul este cunoscut, deja structurat și va fi utilizat doar de un sistem automat, iar aplicația ta folosește deja o bibliotecă pentru URL-uri. De asemenea, nu este operația potrivită dacă vrei să verifici disponibilitatea, să urmezi redirecționările, să decodifici fiecare parametru al interogării sau să stabilești dacă un domeniu este de încredere.

Pentru operațiuni repetate sau automatizate, folosește funcțiile pentru URL-uri oferite nativ de mediul tău. PHP include parse_url, JavaScript în browser oferă interfața URL, Node.js pune la dispoziție clasa URL, iar Python include urllib.parse. Pentru procesarea unui fișier jurnal care conține mii de adrese, un mic script în linie de comandă este mai potrivit decât analiza manuală.

Nu analiza un URL doar pentru a-l reformata dacă are deja reprezentarea exactă cerută de sistemul receptor. Recodificarea sau reconstruirea adreselor fără un motiv clar poate modifica semnăturile interogărilor, parametrii duplicați ori caracterele rezervate.

Întrebări frecvente

Pot analiza un URL fără http sau https?

Da. Funcția parse_url din PHP poate interpreta referințe relative și URL-uri parțiale, însă schema nu va fi disponibilă dacă nu a fost furnizată. Ai grijă la adresele relative la schemă care încep cu două bare oblice, deoarece sensul lor depinde de documentul sau aplicația în care apar.

Se păstrează parametrii de interogare repetați?

Interogarea este returnată ca o componentă neprelucrată, astfel că numele repetate pot rămâne în ordinea lor inițială. Modul în care valori precum tag=red&tag=blue sunt transformate în tablouri sau valori individuale depinde de parserul pentru șiruri de interogare folosit ulterior.

Este sigur să introduc un URL semnat?

Datele introduse sunt trimise prin HTTPS și nu sunt stocate, dar un URL semnat poate permite în continuare accesul la conținut privat atât timp cât semnătura sa este valabilă. Ascunde tokenul sau înlocuiește numele gazdei și valorile cu substituenți reprezentativi ori de câte ori datele exacte de autentificare nu sunt necesare.

De ce un URL care pare valid se comportă diferit în aplicația mea?

Diferențele pot apărea din cauza modului specific fiecărui framework de a decodifica interogările și de a normaliza Unicode. Aplicațiile pot aplica și reguli suplimentare după analizare, inclusiv liste de nume de gazdă permise și restricții pentru redirecționări. Compară URL-ul neprelucrat octet cu octet, apoi verifică ce anume decodifică sau rescrie aplicația înainte de a trimite solicitarea.

Instrumente populare