2013-07-03 85 views
0

我有一個獲取請求的問題。Eclipse通過HttpClient獲取

  1. 我使用Eclipse的Juno與正確配置代理服務器設置(我可以檢查更新並安裝插件)我的操作系統是Windows 7

  2. 我下載了一個,並安裝HttpClient 4.2.5(通過複製所有罐子的進入項目目錄,將所有構建路徑的Eclipse所)

3.Java類

public class ConnectClass { 

public static final String USER_AGENT = "Mozilla/5.0"; 

private String cookies; 
private HttpClient client; 

ConnectClass() { 
    client = new DefaultHttpClient(); 
} 

public static void main(String[] args) { 
    String vogel = "http://www.vogella.com"; 

    ConnectClass connect = new ConnectClass(); 
    try { 
     connect.doGet(vogel); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

public void doGet(String url) throws Exception { 

    HttpGet request = new HttpGet(url); 
    request.addHeader("User-Agent", USER_AGENT); 
    HttpResponse response = client.execute(request); 

    System.out.println("Response Code:" 
      + response.getStatusLine().getStatusCode()); 

    BufferedReader rd = new BufferedReader(new InputStreamReader(response 
      .getEntity().getContent())); 

    StringBuffer result = new StringBuffer(); 
    String line = ""; 
    while ((line = rd.readLine()) != null) { 
     result.append(line); 
    } 

} 

} 

4我有一個錯誤

INFO: I/O exception (java.net.SocketException) caught when connecting to the target host: Network is unreachable: connect 
июл 03, 2013 1:53:41 PM org.apache.http.impl.client.DefaultRequestDirector tryConnect 
INFO: Retrying connect 
  1. 錯誤堆棧跟蹤

    java.net.SocketException: Network is unreachable: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) 
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source) 
    at java.net.PlainSocketImpl.connect(Unknown Source) 
    at java.net.SocksSocketImpl.connect(Unknown Source) 
    at java.net.Socket.connect(Unknown Source) 
    at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:127) 
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180) 
    at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294) 
    at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:643) 
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479) 
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906) 
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805) 
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784) 
    at ConnectClass.doGet(ConnectClass.java:49) 
    at ConnectClass.main(ConnectClass.java:37) 
    

回答

0

在Eclipse本身的代理首對你的程序沒有任何影響。您需要更改程序以使用必要的代理。

大概在Apache HttpClient的文檔在本節將幫助:HttpClient proxy configuration

0

沒有什麼不對的HttpClient在這裏。可能的原因是連接中斷。它是重試連接 - 檢查防火牆問題,如果你提供更多信息,我可以幫助你更多。