से आईपीवी 6-केवल होस्ट से कनेक्ट नहीं हो सकता है मेरे पास कुछ आईपीवी 6-केवल होस्ट हैं। मैं सफलतापूर्वक कर्लजावा
$ curl -I my.ip.v6.only.host
HTTP/1.1 200 OK
द्वारा यह को कर्ल अनुरोध निष्पादित कर सकते हैं लेकिन जब मैं जावा से इसे पाने के लिए कोशिश कर रहा है मैं एक त्रुटि है:
HttpGet httpget = new HttpGet("http://my.ip.v6.only.host");
CloseableHttpResponse response = httpclient.execute(httpget);
स्टैक ट्रेस:
INFO: I/O exception (java.net.NoRouteToHostException) caught when processing request to {}->http://my.ip.v6.only.host: No route to host
Mar 17, 2015 7:42:23 PM org.apache.http.impl.execchain.RetryExec execute
INFO: Retrying request to {}->http://my.ip.v6.only.host
java.net.NoRouteToHostException: No route to host
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:72)
at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:123)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106)
at MainTest.main(MainTest.java:25)
समस्या जावा v1.7.0_65 और v1.8.0_40, मैकोज़ 10.10.2 पर हुआ है। पिछले संस्करण मैकोज़ 10.9.5 पर यह अच्छी तरह से काम करता है।
क्या चल रहा है? यह कैसे संभव है कि होस्ट curl
तक पहुंच योग्य है और जावा से पहुंच योग्य नहीं है।
इसके अलावा, मैंने -Djava.net.preferIPv6Addresses=true
और -Djava.net.preferIPv4Stack=false
के आसपास खेलने की कोशिश की है और यह मदद नहीं कर सका।
युपीडी OpenJDK में एक संबंधित बग, JDK-8015415
युपीडी 2 जब मैं वाईफ़ाई के बजाय वायर्ड कनेक्शन का उपयोग करने की कोशिश की, यह मेरे में मदद मिली पाया। अजीब।
अपाचे एचटीपी क्लाइंट का कौन सा संस्करण आप उपयोग कर रहे हैं? – Martijn
org.apache.httpcomponents: httpclient: 4.3.5 –
अभी तक सामान्य जावा एनआईओ अनुरोधों का प्रयास किया? मैं इस मुद्दे को लिनक्स बॉक्स एटीएम पर फिर से उत्पन्न नहीं कर सकता। – Martijn