2014-04-01 41 views
1

我知道這個問題已經被問了很多次,但是這些問題的答案對我來說並不適用。Android主機名不能爲空

我試圖訪問一個REST API,但是當我嘗試連接我收到此錯誤:

java.lang.IllegalArgumentException: Host name may not be null

我的網址爲 「http:本地主機:3000/API/V1 /用戶」 ,

我的代碼:

public String post(List<NameValuePair> data) { 
    String result = null; 
    HttpPost request; 
    try { 
     request = new HttpPost("http:localhost:3000/api/v1/users"); 
     ResponseHandler<String> handler = new BasicResponseHandler(); 
     try { 
      result = client.execute(request, handler); 
      client.getConnectionManager().shutdown(); 
     } catch (ClientProtocolException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } catch (UnsupportedEncodingException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } 
    return result; 
} 
+0

你是否在瀏覽器http:localhost:3000/api/v1/users中檢查了這個? – Sree

回答

0

試試這個

http://10.0.2.2:3000/api/v1/users 

的Android不懂本地主機系PC瀏覽器。

+0

謝謝你爲我工作 –

0

在第一種觀點,我認爲有一些格式問題與URL的傳球

  • 變化從

http:localhost:3000/api/v1/users

網址

http://localhost:3000/api/v1/users 

編輯

And yes if you are running the emulator it is already taken the local host 

this給出更多信息。

1

android不明白localhost。因此請用10.0.2.2替換localhost然後再試。它應該工作。

試試這個

http://10.0.2.2:3000/api/v1/users 
相關問題