Подключение url к веб-сайту через прокси-сервер в java

У меня проблема с отображением веб-сайтов в моем браузере через прокси. Я вручную установил прокси-сервер в разделе «Свойства обозревателя» на 127.0.0.1:80. В коде, когда я подключаюсь к веб-сайту, я могу получить html-код и распечатать его на своей консоли java. Однако, когда я отправляю html-код в свой браузер, я вижу, что он подключается к веб-сайту и показывает заголовок вроде «Добро пожаловать в Facebook». Но я не вижу содержания. Иногда я вижу только письма, а не изображения или что-то еще. Возникла проблема с отображением содержимого веб-страницы. Я не мог этого понять. Возможно ты можешь помочь мне. Также я думаю, что не могу получить контент в формате UTF-8. Спасибо.

      try {
                        URL url = new URL("" + req.url);
                        URLConnection urlConnection = url.openConnection();
                        DataInputStream dis = new DataInputStream(urlConnection.getInputStream());
                        String inputLine;

                        while ((inputLine =  dis.readLine()) != null) {
                         //   System.out.println(inputLine);
                            out.writeUTF(inputLine);

                        }
                        dis.close();
                    } catch (MalformedURLException me) {
                        System.out.println("MalformedURLException: " + me);
                    } catch (IOException ioe) {
                        System.out.println("IOException: " + ioe);
                    }

Вот как я отправляю строки в браузер.

private DataOutputStream out = new DataOutputStream(clientSocket.getOutputStream());

person Ahmet Tanakol    schedule 15.10.2012    source источник


Ответы (1)


Вы можете установить прокси в java, System.setProperty() перед подключением URL.

Для http-соединения -

System.setProperty("http.proxyHost", " 127.0.0.1");
System.setPropery("http.proxyPort", "80");

Для https-соединения -

System.setProperty("https.proxyHost", " 127.0.0.1");
System.setPropery("https.proxyPort", "80");
person Subhrajyoti Majumder    schedule 15.10.2012
comment
Это не дает никаких ошибок, но и ничего не изменилось, когда я это сделал. Я отправляю в свой браузер строки, которые я читаю с веб-сайта, говоря writeUTF (inputLine) через прокси. Я открыл сокет, чтобы отправить эти строки в свой браузер. Поэтому я не понял, почему я все еще не могу отображать эти веб-страницы - person Ahmet Tanakol; 15.10.2012