我正在尝试HttpClient
在 Android 上运行 HTTP 请求。这是我在 Android 端的代码:
httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 15000);
// Create a new HttpClient and Post Header
httpClient = new DefaultHttpClient(httpParams);
getRequest = new HttpGet(Dictionary.MINYAN_SERVER + servlet);
getRequest.addHeader(ACCEPT, APP_JSON);
HttpResponse response = httpClient.execute(getRequest); //STUCKED HERE
如果我删除超时设置,我永远不会得到响应。随着超时,我得到一个超时异常。
在服务器端,我在本地主机上运行了一个简单的 servlet。这是代码:
public class Test extends HttpServlet
{
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
System.out.println("adasdasd asdsadsad");
JSONObject obj = new JSONObject();
try
{
obj.put("name", "vlad");
}
catch (JSONException e)
{
e.printStackTrace();
}
response.setContentType("application/json");
response.getWriter().write(obj.toString());
}
}
笔记:
尝试loclhost:8080/Test
从浏览器访问时,我得到:{"name":"vlad"}
这很好。
Dictionary.MINYAN_SERVER
持有http://10.0.2.2:8080/
并servet
持有Test
。
我的 Manifest.xml 文件中有 Internet 权限。
有什么想法我能做些什么来解决它?