我有一个域名www.example.com,其IP地址为1.2.3.4
在我的代码中,我连接到https://www.example.com:8443来调用一些REST服务。 (从未使用过ip地址)这一切正常,但有时我会收到一个:
Exception: java.net.ConnectException - Failed to connect to
www.example.com/1.2.3.4:8443
java.net.ConnectException: Failed to connect to www.example.com/1.2.3.4:8443
at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:1418)
at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:1368)
at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:219)
at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:142)
at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:104)
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:392)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:325)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:470)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:416)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:547)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:26)
at com.codename1.impl.android.f.J(AndroidImplementation.java:5614)
at com.codename1.l.g.j(ConnectionRequest.java:773)
at com.codename1.l.s$c.run(NetworkManager.java:325)
at com.codename1.impl.b$1.run(CodenameOneThread.java:60)
at java.lang.Thread.run(Thread.java:764)
问题:有时IP地址(1.2.3.4)似乎被添加到域名的后缀,导致连接到无效的url,因此是异常。这并非一直都发生。
任何想法都可能导致网址的这种混乱吗?
通过设备上的浏览器:
没有Wifi和没有移动网络:无法连接
有Wifi上网但没有移动网络:可以连接
没有Wifi上网,但带有移动网络:可以连接
答案 0 :(得分:0)
该IP地址实际上没有后缀,Android异常只是以一种令人困惑的方式列出了它,因为在连接到服务器的阶段失败了。它列出了其尝试打开的IP。连接服务器后,将获取实际URL的获取请求,但尚未达到该阶段。
我不确定为什么该故障有时会发生而在其他情况下不会发生,但是无线网络不可靠,因此可能与故障有关。