Gat*_*ito 12 java networking android okhttp okhttp3
有没有办法获取请求的最终URL?我知道我可以自己禁用重定向,但有没有办法获取我正在加载的当前URL?就像,如果我要求a.com并被重定向到b.com,有没有办法获得url b.com的名称?
Jak*_*ton 22
响应对象提供了用于获取它的请求和响应链.
为了获得最终的URL,呼吁request()在Response为最后的Request,然后提供url()你的愿望.
您可以通过调用priorResponse()并查看每个Response相关链来跟踪整个响应链Request.
小智 5
OkHttp.Builder提供了NetworkInterceptor。下面是一个例子:
OkHttpClient httpClient = new OkHttpClient.Builder()
.addNetworkInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
System.out.println("url: " + chain.request().url());
return chain.proceed(chain.request());
}
})
.build();
System.out.println(httpClient.newCall(new Request.Builder().url("http://google.com").build()).execute());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6198 次 |
| 最近记录: |