Bonjour,

Voici un bref (et clair je l'espère ^^) exposé de mon problème :

Je suis actuellement en train de développer une petite appli java qui doit permettre de récupérer le code html d'une page web à partir d'une url. Au début cela ne marchais qu'en local et me mettais un connection timeout si j'essayais sur le net... Après quelques recherche je me suis rendu compte que c'était le proxy de ma boite qui me bloquais car pas configuré dans mon programme. nous utilisons un proxy configuré automatiquement au moyen d'un script proxy.pac
J'ai donc éditer ce fichier en .pac, récupéré l'adresse du proxy et son port puis j'ai configuré tout ça dans mon programme comme ceci :

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import java.io.IOException;
import java.io.InputStream;
import java.net.InetAddress;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.UnknownHostException;
 
 
public class main {
 
	/**
         * @param args
         */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.setProperty("http.proxyHost","monProxy");
		System.setProperty("http.proxyPort","8088"); 
		String html = new String();
                //Chargement du code la page web
		html = getIpFrom("url");
		System.out.println(html);
		String host = "localhost";
		int timeout = 3000;
		boolean status=false;
		try {
//Ping sur une url donnée
			 status = InetAddress.getByName(host).isReachable(timeout);
		} catch (UnknownHostException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println(status);
	}
 
	public static String getIpFrom(String adresse)
	{
		String toreturn = null;
		try{
			//Creation d'un objet URL
			URL url = new URL(adresse);
			//On établit une connection a cette url
			URLConnection uc = url.openConnection();
			//On y cree un flus de lecture
			InputStream in = uc.getInputStream();
			//On lit le premier bit
			int c = in.read();
			//On cree un string builder pour la suite y ajouter tout les bits lus
			StringBuilder build = new StringBuilder();
			//Tant que c n'est pas égale au bit indiquant la fin d'un flux...
			while(c!=-1)
			{
				build.append((char)c);
				//...On l'ajoute dans le string builder...
				c=in.read();
				//...et on lit le suivant
			}
			//On retourn le code de la page
			toreturn = build.toString();
		}
		catch(MalformedURLException e){
			e.printStackTrace();
			}
		catch(IOException e){
			e.printStackTrace();
		}
		return toreturn;
	}
 
}
résultat ça marche très bien pour le web mais du coup cela ne marche plus en local..

A noter que c'est l'inverse pour la partie de mon code qui effectue un ping... ça marche en local mais pas sur le net...

Du coup après retour sur le script de configuration du proxy, il apparait que le nom de celui-ci est différent selon l'url que l'on veut... est-il possible de configurer directement mon programme en intégrant le dit script?

Merci d'avance de vos participations

edit : lorsque je tente de récupérer le contenue html d'une page en local, voici le message d'erreur :
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
java.net.ConnectException: Connection refused: connect
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
	at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
	at java.net.Socket.connect(Socket.java:520)
	at java.net.Socket.connect(Socket.java:470)
	at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:388)
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:523)
	at sun.net.www.http.HttpClient.<init>(HttpClient.java:231)
	at sun.net.www.http.HttpClient.New(HttpClient.java:304)
	at sun.net.www.http.HttpClient.New(HttpClient.java:321)
	at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:813)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:765)
	at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:690)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:934)
	at main.getIpFrom(main.java:46)
	at main.main(main.java:20)