当前位置: 代码迷 >> Java相关 >> HttpURLConnection 一直超时,该如何处理
  详细解决方案

HttpURLConnection 一直超时,该如何处理

热度:1075   发布时间:2016-04-22 20:58:44.0
HttpURLConnection 一直超时
怎么这么简单的程序一直都提示connnection timeout?
import java.net.HttpURLConnection;
import java.net.URL;

public class AssureUploadSuccess {
    public static void main(String []args){
     try{
     URL url = new URL("http://www.baidu.com");
            HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
            httpCon.setConnectTimeout(30000);
            httpCon.setReadTimeout(30000);
            httpCon.setDoOutput(true);
            httpCon.setRequestMethod("POST");
            httpCon.connect();
     }catch(Exception e)
     {
     e.printStackTrace();
     }
    }
}
错误提示:
java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(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 sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at AssureUploadSuccess.main(AssureUploadSuccess.java:25)
------解决思路----------------------
你没联网吧
------解决思路----------------------
可能还需要设置很多属性。找一个fiddler之类的工具,看看一个成功的request里面,有什么信息。然后照着塞到你的程序里
------解决思路----------------------
应该是内网无法直接访问外网,需要配置代理之类的东西
你可以使用抓包工具看看浏览器的动作,然后用程序来模拟就可以了
  相关解决方案