gpt4 book ai didi

android - 如何使用改造从所有响应中获取 header

转载 作者:行者123 更新时间:2023-11-29 00:05:10 25 4
gpt4 key购买 nike

我正在使用 Retrofit 库版本 2 和 OkHttpClient

我想从所有响应中获取一些标题。

我用 OkClient 找到了一个解决方案:

    public class InterceptingOkClient extends OkClient{
public InterceptingOkClient()
{
}

public InterceptingOkClient(OkHttpClient client)
{
super(client);
}

@Override
public Response execute(Request request) throws IOException
{
Response response = super.execute(request);

for (Header header : response.getHeaders())
{
// do something with header
}

return response;
}
}

但是,如果我使用 OkHttpClient,我该怎么做呢?

最佳答案

是的,这是一个老问题..但仍然找到答案,因为我自己也在寻找类似的问题。

okHttpClient.interceptors().add(new Interceptor() {  
@Override
public Response intercept(Interceptor.Chain chain) throws IOException {
Request original = chain.request();

// Request customization: add request headers
Request.Builder requestBuilder = original.newBuilder()
.header("Authorization", "auth-value"); // <-- this is the important line, to add new header - replaces value with same header name.

Request request = requestBuilder.build();
Response response = chain.proceed(request);
Headers allHeaders = response.headers();
String headerValue = allHeaders.get("headerName");
return response;
}
});

希望这对您有所帮助!

P.S:没有处理错误。

关于android - 如何使用改造从所有响应中获取 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34389723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com