0

我在通过代理在浏览器上显示网站时遇到问题。我将代理从 Internet 选项手动设置为 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());
4

1 回答 1

1

System.setProperty()您可以在 URL 连接之前在 java 中设置代理。

对于 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");
于 2012-10-15T15:56:46.243 回答