OkHttp3 拦截器设置请求头
时间: 2024-09-23 19:16:45 浏览: 59
Android OKHttp3拦截器的使用方法
OkHttp3 是一个流行的 Java HTTP 客户端库,它允许开发者方便地发送网络请求并处理响应。拦截器(Interceptor)是 OkHttp 中的一个重要特性,用于在请求和响应的过程中插入自定义的行为,比如设置请求头。
要在 OkHttp3 请求中设置请求头,你需要创建一个 Interceptor 对象,并覆盖 `intercept` 方法。下面是一个简单的示例:
```java
import okhttp3.Interceptor;
import okhttp3.Request;
import okhttp3.Response;
public class MyRequestHeaderInterceptor implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {
// 获取原始请求
Request originalRequest = chain.request();
// 创建一个新的请求,添加或修改请求头
Request modifiedRequest = originalRequest.newBuilder()
.addHeader("Authorization", "Bearer your_access_token") // 示例:设置一个授权头
.addHeader("User-Agent", "YourApp/1.0") // 添加用户代理信息
.build();
// 继续请求链路,但使用修改后的请求
return chain.proceed(modifiedRequest);
}
}
```
然后,在创建 OkHttpClient 实例时,将这个拦截器添加到拦截器列表中:
```java
OkHttpClient client = new OkHttpClient.Builder()
.addInterceptor(new MyRequestHeaderInterceptor())
.build();
```
阅读全文