簡體   English   中英

在Android上使用URL會拋出IOException:格式錯誤的ipv6地址

[英]Use URL on Android throws IOException: Malformed ipv6 address

我想將android模擬器上的數據發送到本地主機網站,並獲得一些結果。

String temp = "http://10.0.2.2:8888/json/rec?user_data=" + user_data + "&friends=" + friends;
URL url = new URL(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();
}

這是例外。

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

為什么這么說? 有人能幫助我嗎? 提前致謝。

它是未來版本中修復的已知錯誤。

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

簡單的解決方法是對URL使用不同的構造函數..接受主機名,端口和文件的構造函數

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

編輯

在你的情況下,它會

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

可能是因為主機包含冒號,這意味着這是一個數字IPv6地址

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM