2011-12-07 3 views
3

URL 연결 라이브러리를 사용하여 트위터 검색 URL (JSON 목록을 반환)에 연결하는 작은 Java 프로그램을 작성하려고합니다. 자바 튜토리얼에서 가져프록시를 통해 Java의 URL에 연결합니다.

내 코드 같이 보인다 :

in thread "main" java.net.ConnectException: Connection refused 
    at java.net.PlainSocketImpl.socketConnect(Native Method) 

이 뭔가 경우 나도 몰라 :

 public static void main(String[] args) throws Exception { 
     URL oracle = new URL("http://search.twitter.com/search.json?q=hi"); 
     URLConnection yc = oracle.openConnection(); 
     BufferedReader in = new BufferedReader(
           new InputStreamReader(
           yc.getInputStream())); 
     String inputLine; 

     while ((inputLine = in.readLine()) != null) 
      System.out.println(inputLine); 
     in.close(); 
    } 

하지만 어떤 이유로 나는 다음과 같은 예외가 계속

내가 코드를 작성한 방식과 Eclipse 설정 또는 내 네트워크와 관련이 있기 때문에. 인터넷 액세스를 위해 구성된 프록시 서버가 있습니다. 제가 아는 한, 업데이트를 얻고 있고 eclipse를 통해 새로운 소프트웨어를 설치할 수 있기 때문에 이것이 올바르게 구성되어 있습니다. 어떻게 든 URL 정보에 프록시 정보를 넣어야 할 것인가 아니면 다른 문제인가?

답변

4

URL이 프록시 시스템 등록 정보에 의존, 같은 프록시를 설정하려고 :

System.setProperty("http.proxyHost", "yourproxyserver"); 
System.setProperty("http.proxyPort", "portnumber"); 
+0

인증은 어떻게 되나요? – Randnum

+0

그래서 나에게는 System.setProperty ("http.proxy.mycompany.com", "my company"); – Randnum

+0

및 System.setProperty ("http.8080", "8080"); – Randnum

4

불행하게도, Eclipse에서 올바른 프록시 설정 이클립스에서 시작 프록시 자바 프로그램에 도움이되지 보인다. 마찬가지로 시스템 전반의 프록시 설정을 사용하도록 Java 시스템 설정을 구성하는 것도 마찬가지입니다. 어쨌든 인증이 필요한 프록시가 없을 때. 당신이 "정상"이 아닌 인증 프록시가 다음 일 처리됩니다 (아래 참조) 프로그래밍 -D를 통해 중 하나를 명령 줄에있는 두 개의 JVM 변수 http.proxyHosthttp.proxyPort을 설정하거나이있는 경우

토마스 요한 Eggum가 말했듯이.

인증 프록시 서버, 즉 사용자 ID와 비밀번호를 확인하려는 프록시 서버의 경우 많은 사람들이 http.proxyUserhttp.proxyPassword을 설정하는 것이 좋습니다. 이것들은 효과가 없기 때문에 나쁜 충고입니다. 분명히 그들은 이 아니며은 Java 문서에 정의되어 있습니다.

인증을 수행하는 방법은 인증 방식을 프로그래밍 방식으로 사용하는 것처럼 보입니다. 그렇게 할 예정이라면 프로그래밍 방식으로 모든 작업을 수행 할 수 있습니다 (예 : 호스트 및 포트 포함). 여기 내가 어떻게 일 했는가?

+0

이것은 더 자세하고 사용자 이름/비밀번호 인증을 포함합니다. – sversch

관련 문제