Bonjour,

je dois développer un proxy http, dans le but de faire un control parental.
Mon problème est le suivant, pour le moment je cherche simplement a envoyer une requete http depuis mon client, à la récupérer avec mon proxy et retourner le site web demandé au client avec le code suivant :

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
 
    public void run() {
 
        String requeteClient = "";
        String serveurWeb = "";
        String urlServeurWeb = "";
        String requeteComplete = "";
        String ligne = "";
        BufferedReader recoiClient = null, recoiServeurWeb = null;
        PrintWriter envoiClient = null, envoiServeurWeb = null;
 
        System.out.println("Debut de connection");
 
	try {
	    recoiClient = new BufferedReader(new InputStreamReader(clientProxy.getInputStream()));
	    envoiClient = new PrintWriter(new BufferedWriter(new OutputStreamWriter(clientProxy.getOutputStream())));
 
            //Récupération de la requête et  l'adresse de l'hôte
            do {
                requeteClient=recoiClient.readLine();
                if (requeteClient.length() == 0)
                    break;
                if (requeteClient.startsWith("Host: " )) {
                    serveurWeb = "http://" + requeteClient.substring(6);
                }
                if (requeteClient.startsWith("GET " )) {
                    urlServeurWeb = requeteClient.substring(4).split(" ")[0];
                }
                requeteComplete += requeteClient;
            } while (!requeteClient.equals("\r"));
 
            //Création élément de communication avec le serveur web
            //création de la connection au serveur web
            URL url = new URL(serveurWeb);
            URLConnection proxyServeurWeb = url.openConnection();
            proxyServeurWeb.setDoOutput(true);
            envoiServeurWeb = new PrintWriter(new BufferedWriter(new OutputStreamWriter(proxyServeurWeb.getOutputStream())));
            recoiServeurWeb = new BufferedReader(new InputStreamReader(proxyServeurWeb.getInputStream()));
 
            //envoi de la requête
            envoiServeurWeb.write(requeteComplete);
            envoiServeurWeb.flush();
 
            //lecture et renvoi de la réponse
            while ((ligne = recoiServeurWeb.readLine())!=null) {
                if (ligne != null) {
                    envoiClient.write(ligne);
                    envoiClient.flush();
                }
            }
            recoiClient.close();
            recoiServeurWeb.close();
            envoiClient.close();
            envoiServeurWeb.close();
	}
	catch(Exception e) {
            System.out.print(e);
	    e.printStackTrace();
	}
        System.out.println("Fin de connection");	
    }
Mon problème est que sur certain site web j'ai une exception du type :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
java.io.IOException: Server returned HTTP response code: 501 for URL: http://www.google.fr
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1153)
Mais certains site sont retournés correctement, à l'exception des images.

Quelqu'un peut il m'aider????

Fk