android - 从 Volley 响应中获取 header

标签 android header android-volley

我正在使用 Volley,我想向服务器发出请求,该服务器在“可见层”(我可以在 Web 浏览器中看到它)中返回一个 JSON。我的问题是服务器还在我的应用程序中需要获取的 header 信息中返回我的信息,但我无法从请求中获取 header 。

我已经搜索了很长时间,但我没有找到任何有用的东西(只向请求 header 添加数据,但没有从 header 的响应中获取数据)

有人知道如何实现吗?

最佳答案

要获取 header ,您需要在请求中覆盖 parseNetworkResponse()

例如JsonObjectRequest:

public class MetaRequest extends JsonObjectRequest {

    public MetaRequest(int method, String url, JSONObject jsonRequest, Response.Listener
            <JSONObject> listener, Response.ErrorListener errorListener) {
        super(method, url, jsonRequest, listener, errorListener);
    }

    public MetaRequest(String url, JSONObject jsonRequest, Response.Listener<JSONObject>
            listener, Response.ErrorListener errorListener) {
        super(url, jsonRequest, listener, errorListener);
    }

    @Override
    protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) {
        try {
            String jsonString = new String(response.data,
                    HttpHeaderParser.parseCharset(response.headers, PROTOCOL_CHARSET));
            JSONObject jsonResponse = new JSONObject(jsonString);
            jsonResponse.put("headers", new JSONObject(response.headers));
            return Response.success(jsonResponse,
                    HttpHeaderParser.parseCacheHeaders(response));
        } catch (UnsupportedEncodingException e) {
            return Response.error(new ParseError(e));
        } catch (JSONException je) {
            return Response.error(new ParseError(je));
        }
    }
}

关于android - 从 Volley 响应中获取 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36430958/

相关文章:

android - 自应用程序在 Android 中打开以来的时间

java - Android 上的 Dagger 2。存储和访问 @Singleton 组件的不同方式

html - 使用 HTML 和 CSS 在第一个打印页面上显示不同的页眉

c++ - 具有 "Common" header 的实践

android volley发布json ID并从PHP服务器返回结果

java - 什么是IndexOutOfBoundsException?我该如何解决?

java - 尝试连接到配对设备时如何修复 "java.io.IOException: read failed, socket might closed or timeout"?

objective-c - 检测双击 NSTableview header

php - JSON 验证器 : Response test vaild but URL test is not

android - Ndef.get(tag) 返回 null