【问题标题】:Android Rest ClientAndroid 休息客户端
【发布时间】:2012-11-15 18:05:25
【问题描述】:

我发现了很多请求 REST API 的示例,但所有示例都令人困惑,谁能解释一下使用 http 请求的方法。

我的要求是,我想通过提供用户名、密码和密钥从 REST API 获取数据。

我用的是,

        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);

但是响应始终为空,并且在使用浏览器工具通过发布相同的数据进行测试时,这些工作正常。我的方法有问题吗?请建议我正确的方法。谢谢你

【问题讨论】:

    标签: java android apache-httpclient-4.x


    【解决方案1】:

    (1)Google I/O video session for developing REST clients

    (2) 在android开发者博客中搜索

    (3)https://github.com/darko1002001/android-rest-client

    请在发布您的问题后尝试, 我可以从基于 (1) 和 (2) 开发的其余客户端共享代码 sn-p

    不要使用云到设备消息传递,而是使用最新的云方法与 android 应用程序开发。

    有一个名为 Volley 的新库,它看起来比 AsyncTask 更好。它在开发 RESTful 客户端时应该很有用。

    【讨论】:

      【解决方案2】:

      您可能忘记在清单文件中添加互联网权限。 添加以下行。

       <uses-permission android:name="android.permission.INTERNET" />
      

      【讨论】:

        【解决方案3】:

        我觉得你应该试试这个,

        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);
        

        希望这会有所帮助。

        【讨论】:

        • 不,我试过了,还是同样的问题。我无法获取响应数据。有人可以帮我吗。我应该使用 UrlConnection 而不是 Http 类吗?
        【解决方案4】:

        服务器是否期待此操作的 GET 请求?如果是这样,您可能希望使用 HttpGet 而不是 HttpPost。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-11-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-11-30
          相关资源
          最近更新 更多