2012-10-15 1 views
0

프록시를 통해 브라우저에서 웹 사이트를 표시하는 데 문제가 있습니다. 인터넷 옵션에서 수동으로 프록시를 127.0.0.1:80으로 설정했습니다. 코드에서 웹 사이트에 연결할 때 html 코드를 가져와 내 Java 콘솔에 인쇄 할 수 있습니다. 그러나 브라우저에 html 코드를 보내면 웹 사이트에 연결되어 "Facebook에 오신 것을 환영합니다."와 같은 제목이 표시됩니다. 그러나 나는 그 내용을 볼 수 없다. 때로는 글이나 이미지가 아닌 글만 보입니다. 웹 페이지 콘텐츠를 표시하는 데 문제가 있습니다. 나는 그것을 이해할 수 없었다. 어쩌면 당신이 나를 도울 수 있습니다. 또한 UTF-8 형식으로 내용을 가져올 수 없다고 생각합니다. 고맙습니다.Java의 프록시 서버를 통한 웹 사이트에 대한 URL 연결

 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()); 

답변

1

URL 연결 전에 프록시를 java에서 System.setProperty()으로 설정할 수 있습니다. HTTP 연결의

- HTTPS의

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

연결 -

System.setProperty("https.proxyHost", " 127.0.0.1"); 
System.setPropery("https.proxyPort", "80"); 
+0

아직도 내가 연결할 수 없습니다. –

+0

오류 또는 예외가 발생 했습니까? –

+0

그것은 어떤 오류도주지 않았고 내가했을 때 아무 것도 바뀌지 않았습니다. 나는 브라우저를 통해 writeUTF (inputLine)를 프록시를 통해 말하면서 웹 사이트에서 읽은 행을 보냈다. 나는이 줄들을 내 브라우저에 보내기 위해 소켓을 열었다. 그래서 나는 아직도 내가이 웹 페이지들을 표시 할 수 없다는 것을 이해하지 못했다. –