Java 安卓Rest客户端
我发现了这么多请求RESTAPI的示例,但所有这些示例都令人困惑,请告诉我如何使用http请求 我的要求是,我希望通过提供用户名、pwd和密钥从RESTAPI获取数据 我用的是,Java 安卓Rest客户端,java,android,apache-httpclient-4.x,Java,Android,Apache Httpclient 4.x,我发现了这么多请求RESTAPI的示例,但所有这些示例都令人困惑,请告诉我如何使用http请求 我的要求是,我希望通过提供用户名、pwd和密钥从RESTAPI获取数据 我用的是, HttpClient client = new DefaultHttpClient(); HttpPost post = new HttpPost("REST API url"); post.setHeader("Content-type", "applicatio
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("REST API url");
post.setHeader("Content-type", "application/json");
JSONObject obj = new JSONObject();
obj.put("username", "un");
obj.put("pwd", "password");
obj.put("key","123456");
post.setEntity(new StringEntity(obj.toString(), "UTF-8"));
HttpResponse response = client.execute(post);
但响应总是空的,当使用浏览器工具通过发布相同的数据进行测试时,这些响应工作正常。我的方法有什么问题吗?请告诉我正确的方法。谢谢你我想你应该试试这个
HttpContext localContext = new BasicHttpContext();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("REST API url");
post.setHeader("Content-type", "application/json");
JSONObject obj = new JSONObject();
obj.put("username", "un");
obj.put("pwd", "password");
obj.put("key","123456");
post.setEntity(new StringEntity(obj.toString(), "UTF-8"));
HttpResponse response = client.execute(post,localContext);
希望这会有所帮助。您可能忘记将internet权限添加到清单文件。 添加以下行
<uses-permission android:name="android.permission.INTERNET" />
(1)
(2) 在android开发者博客中搜索
(三)
请在发完你的问题后再试,
我可以共享基于(1)和(2)开发的rest客户端的代码片段
不要使用云到设备的消息传递,而是在andrid应用程序开发中使用最新的云方法
有一个名为Volley的新库,它看起来比AsyncTask更好。它在开发RESTful客户端时应该很有用。服务器是否希望此操作有GET请求?如果是这样的话,您可能希望使用HttpGet而不是HttpPost。不,我尝试过这个,仍然是相同的问题。我无法获得响应数据。谁能帮我一下吗。我应该使用UrlConnection而不是Http类吗?