2 mrluo93 MrLuo93 于 2017.08.31 14:07 提问

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个回答

mwb102919
mwb102919   2017.08.31 14:11
已采纳

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

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

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

MrLuo93
MrLuo93 没用, 我试了。源码在第二页, 麻烦帮我看看。谢谢
3 个月之前 回复
playboyanta123
playboyanta123   2017.08.31 14:23

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

MrLuo93
MrLuo93 源码在第二页, 麻烦帮我看看。谢谢
3 个月之前 回复
MrLuo93
MrLuo93   2017.08.31 14:25

网络没问题。 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)

qq_21454973
qq_21454973   2017.08.31 14:27

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

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

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

MrLuo93
MrLuo93 源码在第二页, 麻烦帮我看看。谢谢
3 个月之前 回复
qq_28215471
qq_28215471   2017.08.31 14:37

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

MrLuo93
MrLuo93 回复qq_28215471: 源码在第二页,麻烦你帮忙看看。 谢谢
3 个月之前 回复
qq_28215471
qq_28215471 回复MrLuo93: 你的url检查看是不是拼对了
3 个月之前 回复
MrLuo93
MrLuo93 请求是对的, 那边也是用的post
3 个月之前 回复
zy841958835
zy841958835   Ds   Rxr 2017.08.31 14:43

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

MrLuo93
MrLuo93 源码在第二页, 麻烦帮我看看。谢谢
3 个月之前 回复
zhle321
zhle321   2017.08.31 15:03

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

MrLuo93
MrLuo93 源码在第二页, 麻烦帮我看看。谢谢
3 个月之前 回复
weixin_40045911
weixin_40045911   2017.08.31 15:16

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

共14条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片