Bonjour,

Je veux faire une fonction qui me permet de récupérer le code HTML d'une page web, en Java.

Le souci, c'est que j'ai un problème lors de l’accès à la page web de l'URL. Un problème de connexion en gros.

J'obtiens l'erreur suivante :
Exception in thread "main" java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at URLConnectionReader.getHTML(URLConnectionReader.java:11)
at JenaFirst.main(JenaFirst.java:14)
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
import java.net.*;
import java.io.*;
 
public class URLConnectionReader {
 
    public String getHTML() throws IOException{
        String resultHTML ="";
        URL link = new URL("http://www.google.fr/");
        URLConnection cx = link.openConnection();
 
        InputStream in = cx.getInputStream();
 
        BufferedReader bf = new BufferedReader(
                                new InputStreamReader(
                                cx.getInputStream()));
        String inputLine;
 
        while ((inputLine = bf.readLine()) != null) 
            resultHTML += inputLine;
 
        in.close();
 
        return resultHTML ="";
    }
}
Je ne sais absolument pas d'où ça peut venir...

Quelqu'un saurait-il m'expliquer ce qui ne va pas ?

Merci d'avance pour votre aide.