开发者

Use URL on Android throws IOException: Malformed ipv6 address

I want to send the data on the android emulator to the local host web, and get some results.

String temp = "http://10.0.2.2:8888/json/rec?user_data=" + user_data + "&friends=" + friends;
URL url = new U开发者_StackOverflowRL(temp);

HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setReadTimeout(5000);
InputStreamReader is = new InputStreamReader(urlConnection.getInputStream(), "UTF-8");
String output = "";
while(is.ready()) {
    output += is.read();
}

Here is the exception.

java.io.IOException: Malformed ipv6 address: [10.0.2.2:8888]

Why it said that? Could someone help me? Thanks in advance.


Its a known bug thats fixed in a future release.

http://code.google.com/p/android/issues/detail?id=12724

The easy fix is to use a different constructor to the URL .. the one that accepts hostname, port and file

URL(String protocol, String host, int port, String file)

EDIT

In your case, it would be

URL url = new URL("http", "10.0.2.2" , 8888 , "json/rec?user_data=" + user_data + "&friends=" + friends);


Probably because the host contains a colon, which it takes to mean this is a numeric IPv6 address

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜