9
votes

Normalisation de l'URL standard - Java

Je voudrais demander s'il y a un package ou une bibliothèque Java qui dispose de la normalisation de l'URL standard?

5 composants de la représentation de l'URL

http: // www [point] Exemple [DOT] COM: 8040 / Dossier / Existe? Nom = Sky # Head

  1. schéma: http
  2. Autorité: www.example.com:8040
  3. chemin: / dossier / existe
  4. Query: ? Nom = Sky
  5. Fragment: #head

    les 3 types d'URL standard normalisation

    la normalisation basée sur la syntaxe

    • Normalisation des cas - Convertissez toutes les lettres au schéma et aux composants de l'autorité aux minuscules
    • Normalisation codée pourcentage - Décodez tout octet codé en pourcentage correspondant à un caractère non réservé, tel que% 2D pour un trait d'union et% 5 pour le soulignement
    • Normalisation du segment de chemin - Retirez les segments de points de la composante de chemin, tels que «.» et '..'

      normalisation basée sur le schéma

      • Ajouter une fuite '/' après la composante de l'autorité de l'URL
      • Supprimer le numéro de port par défaut, tel que 80 pour le schéma http
      • tronquer le fragment d'URL

        la normalisation basée sur le protocole

        • ne convient que lorsque les résultats d'accès aux ressources sont équivalents
        • Par exemple, Exemple.com/Data est dirigé vers Exemple.com/Data/ par l'origine serveur

0 commentaires

3 Réponses :


0
votes

Quoi de java.net.url SET () ?


0 commentaires

3
votes
URI uri = URI.create("http://www.example.com:8040/folder/exist?name=sky#head");
String scheme = uri.getScheme();
String authority = uri.getAuthority();
// ...
https://docs.oracle.com/javase/1.5.0/docs/api/java/net/URI.html

0 commentaires

5
votes

Comme d'autres personnes ont mentionné, Java.net.url et / ou java.net.uri sont des points de départ évidents. < / p>

Voici quelques autres options:

  1. Galimatias (espagnol pour "Gibberish") semble être une bibliothèque de normalisation URL d'opinion et relativement populaire pour Java. Le code source peut être trouvé sur Github.com/smola/galimatias .

    Galimatias a commencé à sortir de la frustration avec java.net.url et java.net.uri. Les deux sont bons Pour les cas d'utilisation de base, mais gravement cassé pour d'autres

  2. the github.com/sentric/url-normalization bibliothèque fournit un autre (inhabituel, à mon avis) approche où il inverse la partie de domaine; par exemple. "com.stackoverflow" au lieu de "Stackoverflow.com".

    Vous pouvez trouver d'autres variations, parfois implémentées dans des langues telles que Python, Ruby et PHP sur Github.


0 commentaires