我試圖從Android向ASP.NET Web API發出GET請求。該API應該爲某些用戶返回一個JSON對象。當從瀏覽器調用API時,一切正常,但是當試圖從Androind應用程序調用時,什麼都不會發生。我已經看過Fiddler並且沒有發送任何請求。對ASP.NET Web API的Android請求
這是我用它來撥打電話代碼:
class GetData extends AsyncTask<String, String, String>{
@Override
protected String doInBackground(String... params){
HttpClient client = new DefaultHttpClient();
HttpResponse response;
try{
HttpGet get = new HttpGet("http://10.0.2.2:38216/api/user");
response = client.execute(get);
if(response != null){
InputStream inStream = response.getEntity().getContent();
String message = convertToString(inStream);
return message;
}
}
catch(Exception exp){
Log.d("Error message!", exp.toString());
}
return null;
}
}
上,我做錯了什麼,將不勝感激任何意見或暗示!
只是爲了確認,你是在仿真器上運行它,並且你的Web應用正在偵聽運行該仿真器的開發機器的'localhost'?如果是,那麼LogCat會顯示異常和堆棧跟蹤?另外,你確定你正在執行這個任務嗎? – CommonsWare
我從模擬器運行並且LogCat沒有顯示任何東西。我也確定任務被調用,因爲我查看了調試器,任務的斷點被擊中。同時調用'client.execute(get)',但響應返回沒有用處,Fiddler不顯示任何對Web API的調用。 –
「沒有用處」 - 如果它沒有拋出異常,那麼響應中會有一些有用的信息,例如狀態碼。 – CommonsWare