Java获取http请求返回json格式数据异常

java.net.SocketTimeoutException: connect timed out
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.(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 com.elan.webservers.HttpRequestUtil.getHttp(HttpRequestUtil.java:64)
at com.elan.webservers.HttpRequestUtil.main(HttpRequestUtil.java:19)

一直提示连接超时, 请问下有什么解决的方法么?

// 开始连接请求
conn.connect(); //这行为异常提示行

14个回答

将Socket超时时间改大一点就可以了

MrLuo93
一身气质范 回复过客00: 这个网址有时间你去看看 http://square.github.io/okhttp/
大约 3 年之前 回复
MrLuo93
一身气质范 因为用这种方式不支持并发 。 到时候我做的这个会在公司服务器一直跑所以换了种方式
大约 3 年之前 回复
MrLuo93
一身气质范 回复过客00: 麻烦你了。 谢谢
大约 3 年之前 回复
mwb102919
过客00 回复MrLuo93: 我按你的参数,给返回{"status":0,"msg":"\u516c\u94a5\u9519\u8bef"}
大约 3 年之前 回复
mwb102919
过客00 回复MrLuo93: 我写过一个httpclient工具类,刚才加了一个测试类,你拿去用吧,http://pan.baidu.com/s/1qY3CV3Que35
大约 3 年之前 回复
mwb102919
过客00 回复MrLuo93: conn.setConnectTimeout(60000); 试试呢
大约 3 年之前 回复
MrLuo93
一身气质范 源码在第二页, 麻烦帮我看看。谢谢
大约 3 年之前 回复
MrLuo93
一身气质范 没用, 我试了
大约 3 年之前 回复

确保网络是通的,url可请求到。如果确保可以访问到,调大时间

MrLuo93
一身气质范 没用, 我试了。源码在第二页, 麻烦帮我看看。谢谢
大约 3 年之前 回复

你这是文不对题,跟请求json有啥关系,你这是服务器请求超时了,一个是你调试好自己的网络,确保网络没毛病,在一个在网络请求的代码里把
超时时间设置为20秒以上,还有就是你要确保你要请求的服务器没毛病吧,看你上面说的估计大部分可能是服务器出错了,连不上了

MrLuo93
一身气质范 源码在第二页, 麻烦帮我看看。谢谢
大约 3 年之前 回复

网络没问题。 conn.setReadTimeout(3600000); // 设置超时时间为一小时 还是一样。

java.net.ConnectException: Connection timed out: 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 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.(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 com.elan.webservers.HttpRequestUtil.getHttp(HttpRequestUtil.java:64)
at com.elan.webservers.HttpRequestUtil.main(HttpRequestUtil.java:19)

请求的地址对了,那请求带的参数对了?

MrLuo93
一身气质范 源码在第二页, 麻烦帮我看看。谢谢
大约 3 年之前 回复
qq_21454973
我惠依旧 回复MrLuo93: 可以先写的页面里面用个AJAX看 你请求的地址能不能请求到
大约 3 年之前 回复
MrLuo93
一身气质范 这是我把所有参数注释掉后输出的:{}
大约 3 年之前 回复
MrLuo93
一身气质范 如果是参数问题, 应该也不会是提示连接超时吧
大约 3 年之前 回复

如果还没解决的话,最好说一下 大致问题发生的背景,单看报错不容易找到问题

MrLuo93
一身气质范 源码在第二页, 麻烦帮我看看。谢谢
大约 3 年之前 回复

你看下你请求的方式对不对,get请求去请求post方式的肯定是不行的。

MrLuo93
一身气质范 回复qq_28215471: 源码在第二页,麻烦你帮忙看看。 谢谢
大约 3 年之前 回复
qq_28215471
qq_28215471 回复MrLuo93: 你的url检查看是不是拼对了
大约 3 年之前 回复
MrLuo93
一身气质范 请求是对的, 那边也是用的post
大约 3 年之前 回复

贴下 请求的代码 用得什么框架啥的

MrLuo93
一身气质范 源码在第二页, 麻烦帮我看看。谢谢
大约 3 年之前 回复

服务器中断,或者请求路径url出错

MrLuo93
一身气质范 源码在第二页, 麻烦帮我看看。谢谢
大约 3 年之前 回复

路过.............

共14条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问