Получить заголовки ответа Http и заголовки запроса в Android

Я отправляю строку запроса в URL-адрес, и теперь я хочу получить заголовки запроса и использовать один из его ключей. Я написал код, который может получать заголовки ответа, но не заголовок запроса. Вот мой код:

URL url = null;
        try {
            url = new URL(getString(R.string.auth_url));
            HttpURLConnection con = (HttpURLConnection) url.openConnection();
            con.setReadTimeout(10000);
            con.setConnectTimeout(15000);
            con.setRequestMethod("POST");
            con.setDoOutput(true);
            con.setDoInput(true);
            String urlParameters  = "username="+ URLEncoder.encode(params[0], "UTF-8")+"&password="+URLEncoder.encode(params[1], "UTF-8")+"&captcha=1234";
            con.setRequestProperty( "charset", "utf-8");
            OutputStream os = con.getOutputStream();
            BufferedWriter writer = new BufferedWriter(
                    new OutputStreamWriter(os, "UTF-8"));
            writer.write(urlParameters);
            writer.flush();
            writer.close();
            os.close();

            BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream()));

            StringBuilder stringBuilder = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null) {
                stringBuilder.append(line);
            }

            Log.i("body", "input = " + stringBuilder.toString());
            reader.close();

            return con.getHeaderFields().toString();

            } catch (MalformedURLException e) {
            e.printStackTrace();
            return null;
        } catch (IOException e) {
            e.printStackTrace();
            return null;

Строка return con.getHeaderFields().toString() дала мне весь заголовок ответа. Теперь, как мне изменить этот код, чтобы вместо этого получить заголовок запроса?!

подсказка: я использовал AsyncTask‹>, и приведенные выше строки находятся в моем методе doInBackground.


person Matin Hajatdoost    schedule 01.09.2016    source источник


Ответы (1)


Попробуй использовать:

1) getRequestProperties() API для получения всего списка заголовков запросов

2) getRequestProperty(String field) API для получения соответствующего заголовка по имени поля.

person IrM    schedule 22.11.2018