1

我想知道 POST 请求在 Android 中是如何发生的


What I have Tried::

  • 我已经在 android 中使用 Get 请求完成了解析(我在下面提到了我使用过的解析器类)

what I have understood from it::

  • 我们使用解析器类来解析JSON response来自服务器的数据,然后使用 和 的功能JSONArrayJSONObjectJSON 响应中获取数据
  • 然后我们使用Java variable来存储数据并使用该 java 变量来填充任何views in android

JSONParser.java

public class JSONParser {

    InputStream is = null;
    JSONObject jObj = null;
    String json = "";

    // constructor
    public JSONParser() {

    }

    public JSONObject getJSONFromUrl(String url) {

        // Making HTTP request
        try {
            // defaultHttpClient
            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpGet httpGet = new HttpGet(url);

            HttpResponse httpResponse = httpClient.execute(httpGet);
            HttpEntity httpEntity = httpResponse.getEntity();
            is = httpEntity.getContent();           

        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(
                    is, "iso-8859-1"), 8);
            StringBuilder sb = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
            is.close();
        } catch (Exception e) {
            Log.e("Buffer Error", "Error converting result " + e.toString());
        }

        // try parse the string to a JSON object
        try {
            jObj = new JSONObject(json);
        } catch (JSONException e) {
            Log.e("JSON Parser", "Error parsing data " + e.toString());
        }

        // return JSON String
        return jObj;

    }
}

我想知道的是 POST 请求是如何发生的以及 post 请求是如何工作的?

我在谷歌搜索::

  • 据我说,我们需要存储一个数据以 key,value成对发送到服务器
  • 将对添加key,value到对象
  • 将对象发送到服务器
  • 服务器中的某个人需要使用键从对象中提取值(数据)并进行一些处理,例如数据库查询

我的查询::

  • 请在 POST_REQUEST 上提供更多说明
  • 它是如何运作的
  • 这个怎么运作
  • 新手理解的好例子

希望我清楚

谢谢,

4

1 回答 1

0

我认为你应该先学习一些关于 Http 和 TCP/IP 的知识。

当你使用 GET 方法时,服务器只会从传入的 URL 中获取信息。但如果你发出 Post 请求,服务器可以从请求带来的 InputStream(即 post 方法的 OutputStream)中获取数据。

无论你使用什么请求方式,服务器的响应可能都是一样的,所以这意味着请求只是影响服务器。

于 2013-08-28T03:23:36.770 回答