我想在Android上运行与HttpClient
的HTTP请求。 这是我在Android端代码:HttpClient坚持Android与Genymotion模拟器
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权限。
任何想法我能做些什么来解决它?
如果使用'URLConnection',会发生同样的事情吗? –
我如何使用它? – vlio20
它只是Java的默认http客户端。搜索这里或谷歌,并尝试它。你很可能会得到相同的结果,但我很好奇。 –