[Java] utiliser UrlConnection
marianne31
Messages postés
68
Statut
Membre
-
zemzoum89 -
zemzoum89 -
Bonjour,
j'utilise la classe Java UrlConnection pour me connecter a une URL ;-)
voila le code :
URL url=new URL(url());
URLConnection c=url.openConnection();
c.connect () ;
url () est la fonction qui recupere l'URL a utiliser.
Mon probleme est : comment on sait que la connection est réussie ? est que c'est quand il n'y a pas de levée d'exception.
En fait quand l'URL n'est pas joignable, ca bloque mon site donc il faudrait que je puisse tester avant de m'y connecter si l'URL est bonne.
avez vous une idée ?
Marianne
j'utilise la classe Java UrlConnection pour me connecter a une URL ;-)
voila le code :
URL url=new URL(url());
URLConnection c=url.openConnection();
c.connect () ;
url () est la fonction qui recupere l'URL a utiliser.
Mon probleme est : comment on sait que la connection est réussie ? est que c'est quand il n'y a pas de levée d'exception.
En fait quand l'URL n'est pas joignable, ca bloque mon site donc il faudrait que je puisse tester avant de m'y connecter si l'URL est bonne.
avez vous une idée ?
Marianne
A voir également:
- [Java] utiliser UrlConnection
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Comment utiliser chromecast sur tv - Guide
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
14 réponses
En Java je ne me souviens plus, mais il y a un timeout par défaut pour les sockets (qui s'applique donc aussi à HTTP).
J'ignore comment ça se modifie en Java.
Et puis dans le cas d'un proxy, le proxy a son propre timeout et renverra un code d'erreur HTTP au bout de ce timeout.
J'ignore comment ça se modifie en Java.
Et puis dans le cas d'un proxy, le proxy a son propre timeout et renverra un code d'erreur HTTP au bout de ce timeout.
URLConnection urlConnection;
InputStream httpStream;
String url ="http://localhost:8080/exist/rest/db/hachette/test.xqy";
try
{
URL fileURL = new URL(url);
urlConnection = fileURL.openConnection(); // open URL (HTTP query)
httpStream = urlConnection.getInputStream(); // Open data stream
}
catch(java.net.MalformedURLException ex)
{
}
catch(java.io.IOException ex)
{
}
voici le code que j'ai utiliser et la j'ai donné le lien vers une requete xquery normalement je devrai avoir le résultat de ma requete mais la il me dit file not found est ce uqe c'est la bonne maniere de lui donner une url pour une base de données exist ou non ?
Un try/catch est une excellente idée !
URLConnection urlConnection;
InputStream httpStream;
try
{
URL fileURL = new URL("http://monurl.com");
urlConnection = fileURL.openConnection(); // open URL (HTTP query)
httpStream = urlConnection.getInputStream(); // Open data stream
}
catch(java.net.MalformedURLException ex)
{
}
catch(java.io.IOException ex)
{
}
Bonjour,
merci pour ta réponse
j'avais déjà essayer de faire ca, mais ca me di que toutes mes URL sont mauvaises avec une erreur 407.
D'après ce que j'ai compris 407, c'est quand il y a a un problème avec le proxy.
pourtant je le configure.
Properties props = System.getProperties();
props.put("firewallSet", "true");
props.put("firewallHost", "proxy.xxx.fr");
props.put("firewallPort", "8080");
props.put ("http.proxyHost", "proxy.xxx.fr");
props.put ("http.proxyPort", "8080");
Si tu as une autre excellente idée ... ;-)
Marianne
merci pour ta réponse
j'avais déjà essayer de faire ca, mais ca me di que toutes mes URL sont mauvaises avec une erreur 407.
D'après ce que j'ai compris 407, c'est quand il y a a un problème avec le proxy.
pourtant je le configure.
Properties props = System.getProperties();
props.put("firewallSet", "true");
props.put("firewallHost", "proxy.xxx.fr");
props.put("firewallPort", "8080");
props.put ("http.proxyHost", "proxy.xxx.fr");
props.put ("http.proxyPort", "8080");
Si tu as une autre excellente idée ... ;-)
Marianne
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Apparemment, le nom des variable a changé depuis le JDK 1.3
(grrr... raz-le-bol de Sun !)
http://www.rgagnon.com/javadetails/java-0085.html
(grrr... raz-le-bol de Sun !)
http://www.rgagnon.com/javadetails/java-0085.html
merci de ta réponse.
mais je pense avoir les bons noms de variables. Enfin, il me semble que c'est les meme.
Marianne
mais je pense avoir les bons noms de variables. Enfin, il me semble que c'est les meme.
Marianne
Je ne crois pas.
Tu utilises "http.proxyHost", mais selon les version du JDK, il semble que ça soit "proxyHost"
Tu utilises "http.proxyHost", mais selon les version du JDK, il semble que ça soit "proxyHost"
C'est que le login/mot de passe ne soit pas être correctement transmis.
Est-ce que tu pourrais installer un logiciel comme Proxomitron pour voir exactement la tête des requêtes HTTP envoyées par ton client Java ?
ça permettrait de voir si l'entête contient bien tout le nécessaire.
Est-ce que tu pourrais installer un logiciel comme Proxomitron pour voir exactement la tête des requêtes HTTP envoyées par ton client Java ?
ça permettrait de voir si l'entête contient bien tout le nécessaire.
euh je ne connais pas du tout mais je peux essayer
est ce que ca marche aussi sous Mac OS X ?
bon je vais voir
++
est ce que ca marche aussi sous Mac OS X ?
bon je vais voir
++
ah non, Proxomitron ne fonctionne que sous Windows.
Essai de trouver un proxy qui te permettrait de voir l'intégralité des entêtes HTTP: ça aide pour voir si le client envoie les bonnes informations.
Essai de trouver un proxy qui te permettrait de voir l'intégralité des entêtes HTTP: ça aide pour voir si le client envoie les bonnes informations.
ca y est ca marche !
enfin !
mon probleme c que des fois on tombe sur des urls qui ne répondent pas
par exemple http://www/wmo.ch
enfin je sais pas comment expliquer mais en fait mon appli attend que la page est finie de charger pour continuer, donc dans le cas de cette url, c'est indéfinie
et mon appli est bloquée.
est ce qu'il y a une solution pour obliger les pages a se terminer, enfin je sais pas commment on dit mais, est qu'il n'y a pas un timeout qu'on peut paramétrer pour qu'au bout de 10s par exemple ou est elle est bloquee elle arrete de chercher .
Merci
Marianne
enfin !
mon probleme c que des fois on tombe sur des urls qui ne répondent pas
par exemple http://www/wmo.ch
enfin je sais pas comment expliquer mais en fait mon appli attend que la page est finie de charger pour continuer, donc dans le cas de cette url, c'est indéfinie
et mon appli est bloquée.
est ce qu'il y a une solution pour obliger les pages a se terminer, enfin je sais pas commment on dit mais, est qu'il n'y a pas un timeout qu'on peut paramétrer pour qu'au bout de 10s par exemple ou est elle est bloquee elle arrete de chercher .
Merci
Marianne