utilisation de UrlConnection quand la connexion ne peutpas être effectué
Bonjour,
j'utilise la classe Java UrlConnection pour me connecter a plusieurs URL ;-)
voila le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
import java.net.*;
import java.io.*;
public class format {
public static void main(String[] args) throws Exception {
URLConnection urlConnection;
InputStream httpStream;
String chaine="";
String fichier ="Stations.txt";
try {
InputStream ips=new FileInputStream(fichier);
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
String ligne;
while ((ligne=br.readLine())!=null){
URL aURL = new URL("http://api.openweathermap.org/data/2.5/weather?"+"q="+ligne+"&mode=xml");
urlConnection = aURL.openConnection(); // open URL (HTTP query)
httpStream = urlConnection.getInputStream(); // Open data stream
System.out.println(aURL.toString());
chaine+=ligne+"\n";
}
br.close();
}//fin try
catch(java.net.MalformedURLException ex)
{
System.out.println ("je ss ici");
}
catch (final IOException e) {
System.out.println ("désolée y a pas de connexion");
e.printStackTrace();
}
}
} |
je récupere une partie de mon URL a partir d'un fichier texte ,et je récupère les données d'un URL sur postgresql.
Mon problème est : parfois ça plante sur des URL que j'ignore la cause ,ça plante et je rentre dans l’exception que y a pas de connexion :
Code:
1 2 3 4
| désolée y a pas de conexion
java.io.IOException: Server returned HTTP response code: 500 for URL: http://api.openweathermap.org/data/2.5/weather?q=Ain_Kercha&mode=xml
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at format.main(format.java:29) |
et quand je refait l’exécution ça plante sur un autre URL et pour l'URL qui ça planté auparavant ça a marché, comment on sait la cause de ça ? peut être c'est a cause de ma connexion internet? ,je cherche une manière a bouclé sur un URL un moment jusqu’à que la connexion réussira,est ce que y a une possibilité de faire ça ?
avez vous une idée ?
merci beaucoup pour votre aide :))