IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

[URL] Encoder une URL (requete Http)


Sujet :

Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 57
    Points : 48
    Points
    48
    Par défaut [URL] Encoder une URL (requete Http)
    Bonjour, je souhaite encoder mon url comme Firefox (l'espace devient %20, é devient %E9 ....)

    Comment puis-je faire celà en JAVA ?

    Merci beaucoup,

    Fab

  2. #2
    Membre actif Avatar de @ldehan
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Points : 278
    Points
    278
    Par défaut
    là j'ai une question aussi, je croyais que c'etait le but des class java.net.URLEncoder et java.net.Decoder mais ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    URLEncoder.encode("http://<a href="http://www.developpez.com/é/test" target="_blank">www.developpez.com/é/test</a> 1.gif","UTF-8");
    me renvoie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http%3A%2F%2F<a href="http://www.developpez.com%2F%C3%A9%2Ftest+1.gif" target="_blank">www.developpez.com%2F%C3%A9%2Ftest+1.gif</a>

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 57
    Points : 48
    Points
    48
    Par défaut
    et oui .... j'ai exactement ce problème.... que faire ?

  4. #4
    Membre actif Avatar de bidi
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 262
    Points : 266
    Points
    266
    Par défaut
    hello,
    Vous devez utiliser java.net.URI plutôt.

    URLEncoder sert à encoder les paramètres pour des formulaires par exemple... pas à"encoder les url"

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 57
    Points : 48
    Points
    48
    Par défaut
    Lorsque je parse mon URL avec un escape , il y a une exception (et il ne me convertit pas mon espace en %20)

    URI myURI = new URI("http://localhost/test avec espace");

  6. #6
    Membre actif Avatar de bidi
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 262
    Points : 266
    Points
    266
    Par défaut
    tu dois utiliser le constructeur à plusieurs arguments pour qu'il "quote" tes caractères invalides ;-) ==>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    new URI(null,null,"http://localhost/test avec espace",null)

  7. #7
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    En lisant la doc de la classe URI tu verrais qu'il faut utiliser le constructeur à plusieurs arguments :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    		URL myURL = new URL("http://localhost/test avec espace?param=1#anchor");
    		URI myURI = new URI(myURL.getProtocol(), myURL.getHost(),
    				myURL.getPath(), myURL.getQuery(), myURL.getRef());
    		URL myURL2 = myURI.toURL();
     
    		System.out.println( myURL );
    		System.out.println( myURL2 );
    a++

    [edit] grillé... mais attention il faut décomposer l'URL sinon on peut avoir des problèmes car les différents éléments de l'URL sont encodé différemment...

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 57
    Points : 48
    Points
    48
    Par défaut
    merci, mais je ne trouve pas la signature de new URI() pour l'information du port (8080)

  9. #9
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1

  10. #10
    Membre actif Avatar de bidi
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 262
    Points : 266
    Points
    266
    Par défaut
    ben elle est dans la javadoc, à coté des autres non? :-)
    ha tiens, cette fois c'est moi qui me suis fait griller :-)

  11. #11
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par bidi
    ha tiens, cette fois c'est moi qui me suis fait griller :-)
    1 - 1 : balle au centre

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 57
    Points : 48
    Points
    48
    Par défaut
    oui, mais il faut rajouter (String fragment)... C'est quoi ?

  13. #13
    Membre actif Avatar de bidi
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 262
    Points : 266
    Points
    266
    Par défaut
    ben c optionnel, mets le à null :-)

  14. #14
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Encore une fois c'est dans la doc :
    [scheme:][//authority][path][?query][#fragment]
    Cela correspond à ce qu'on appelle également une ancre ou un référence dans une URL et que tu rrécupère avec URL.getRef()...

    a++

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 57
    Points : 48
    Points
    48
    Par défaut
    merci :-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Regex pour une url encodée avec URLEncoder
    Par stc074 dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 25/04/2014, 18h38
  2. Transmettre une URL par une chaine de requete
    Par zibizibi2 dans le forum Langage
    Réponses: 2
    Dernier message: 28/07/2009, 14h55
  3. Comment Encoder une URL
    Par LCL2000 dans le forum ASP
    Réponses: 4
    Dernier message: 13/12/2006, 15h13
  4. Réponses: 2
    Dernier message: 21/09/2005, 17h23
  5. [débutant] encoder une url
    Par vandoor dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/09/2005, 14h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo