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 :

Récuperer vrai url


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Par défaut Récuperer vrai url
    Bonjour

    Tout d'abord je tiens a remercier les gens de ce forum car cela fait des années que je l'utilise en lecture pour trouver plein d'info

    Mon problème est le suivant:

    Je cherche à récupérer un fichier à une adresse (par exemple: http://mon_site/repertoire/nomfichier.pdf)

    Or je n'ai pas l'url direct mais plutôt:

    http://mon_site/a=150&t=789

    Avez vous une idée comment faire.

    Actuellement je fais une connexion standard:

    connexion = (HttpURLConnection) url.openConnection();
    puis

    connexion.getURL()

    mais l'url reste toujours en http://mon_site/a=150&t=789
    je n'ai pas trouvé de moyen de faire la conversion en http://mon_site/repertoire/nomfichier.pdf.

    Petite info je suis en java6 et c'est une application stand alone

    Merci d'avance

  2. #2
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par k2tm2001 Voir le message
    Or je n'ai pas l'url direct mais plutôt:

    http://mon_site/a=150&t=789
    Que veux-tu dire exactement par là ?
    Que te donne cette première URL ?
    • Une page HTML contenant la nouvelle URL ?
    • Une redirection HTTP vers la nouvelle URL ?
    • Autre chose ?


    Si tu es dans le premier cas il va falloir parser le code HTML de la page.
    Si tu es dans le second cas, c'est automatiquement géré par l'URLConnection : si tu récupère la première URL cela suivra automatiquement la redirection, donc tu n'as rien à faire...

    a++

  3. #3
    Membre habitué
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Par défaut
    En fait je reçois l'url par mail.

    Le code réponse de la requête http est 200 donc pas de redirection.

    Alors que si je saisie l'url dans Firefox par exemple, il trouve bien le fichier et me demande de le télécharger avec le bon nom. Il fais donc une "redirection" ou une recalcul d'adresse (j'avoue que je ne sais pas quel terme utiliser )


    bref je comprends pas

    Est ce que cela peut venir du fait que je passe par un proxy???

  4. #4
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par k2tm2001 Voir le message
    Le code réponse de la requête http est 200 donc pas de redirection.
    Les redirections sont implicites et complètement transparente...

    On pourrait voir ton code complet ?

    Citation Envoyé par k2tm2001 Voir le message
    Alors que si je saisie l'url dans Firefox par exemple, il trouve bien le fichier et me demande de le télécharger avec le bon nom. Il fais donc une "redirection" ou une recalcul d'adresse (j'avoue que je ne sais pas quel terme utiliser )
    Le problème c'est qu'il y a plusieurs moyen de faire cela, et sans savoir ce que te renvoi la première page c'est difficile de t'aider...

    a++

  5. #5
    Membre habitué
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Par défaut
    Que veux tu voir dans on code?
    car je ne peux pas tout mettre dedans, la classe est longue

    SI c'est juste la connexion puis la façon de retrouver la vrai url voila:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    String urlVal="mon url";
    URL url = new URL(urlVal);
    HttpURLConnection  connexion = (HttpURLConnection) url.openConnection();
    connexion.getContent();
     
    String vraiURL = connexion.getURL().toString();
    String nameFile = vraiURL.substring(vraiURL.lastIndexOf("/"));
    String urlPath = vraiURL.substring(0, vraiURL.lastIndexOf("/") + 1);

    Si tu veux une vrai url pour faire le test, je peux te l'envoyer par mail si tu veux

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Citation Envoyé par k2tm2001 Voir le message
    Alors que si je saisie l'url dans Firefox par exemple, il trouve bien le fichier et me demande de le télécharger avec le bon nom. Il fais donc une "redirection" ou une recalcul d'adresse (j'avoue que je ne sais pas quel terme utiliser )
    Ou tout simplement, le site que tu appelles t'envoie un fichier PDF.
    Une URL n'est pas une adresse physique. Il faut plutôt la voir comme une requête, interprétée par le serveur web, qui te renvoie alors ce qu'il veut (une page HTML, un fichier, une erreur 404...).
    Il est possible que, même si tu connaissais l'adresse "physique" du fichier sur le serveur, il t'en refuserait l'accès si tu la tapais directement dans ta barre d'adresse...
    Il est également possible que le fichier n'existe pas sur le serveur, mais qu'il soit généré à la demande lorsque tu effectues ta requête...

    Bref.
    Puisque quand tu utilises cette URL tu obtiens bien le fichier voulu, quel est ton problème ? Que cherches-tu à faire et pourquoi ne peux-tu pas te contenter de cette adresse ?

  7. #7
    Membre habitué
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Par défaut
    Citation Envoyé par Astartee Voir le message
    Ou tout simplement, le site que tu appelles t'envoie un fichier PDF...
    Une URL n'est pas une adresse physique. Il faut plutôt la voir comme une requête, interprétée par le serveur web, qui te renvoie alors ce qu'il veut (une page HTML, un fichier, une erreur 404...). Il est possible que, même si tu connaissais l'adresse "physique" du fichier sur le serveur, il t'en refuserait l'accès si tu la tapais directement dans ta barre d'adresse.

    Bref.
    Puisque quand tu utilises cette URL tu obtiens bien le fichier voulu, quel est ton problème ? Que cherches-tu à faire et pourquoi ne peux-tu pas te contenter de cette adresse ?
    L'extension pdf est un exemple.
    En fait, le type de fichier que je dois récupérer est de type JAD. Un fichier jad contient toujours dans le même répertoire d'autres fichiers que je dois aussi récupérer. Donc j'ai besoin de savoir le path du fichier pour pouvoir récupérer les autres (le contenu du jad me donne les noms des autres fichiers )

  8. #8
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Utilises getInputStream() pour lire les données reçu de l'URL...
    Cela nous donneras plus d'info sur le type de redirection.

    a++

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

Discussions similaires

  1. [technique] Cacher la vrai URL et afficher une autre URL ?
    Par schnito dans le forum Général Conception Web
    Réponses: 21
    Dernier message: 04/01/2012, 12h54
  2. [XSLT] récuperation d'URL
    Par d4v1d dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 29/06/2007, 11h11
  3. Récuperation de URL qui se trouve dans la barre d'adresse
    Par MyWork dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/04/2007, 11h06
  4. Récuperer l'url courante ?
    Par Hikage dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 30/03/2006, 09h25
  5. [Host] Récuperer l'url tapé
    Par yolepro dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 24/10/2005, 10h40

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