OkHttp3 添加响应头
时间: 2024-09-23 13:16:17 浏览: 54
OkHttp3是一个高效的HTTP客户端库,用于Android和Java应用。如果你想要在发送请求时添加自定义的响应头(也称为请求头),你可以创建一个`Request.Builder`实例,并使用`header()`方法来设置它们。这是一个简单的例子:
```java
import okhttp3.*;
// 创建请求Builder
Request request = new Request.Builder()
.url("https://example.com") // 替换为你需要的URL
.addHeader("Authorization", "Bearer your_token") // 添加授权头
.addHeader("User-Agent", "MyApp/1.0") // 添加用户代理头
.build();
// 使用OkHttpClient发起请求
OkHttpClient client = new OkHttpClient();
Response response = client.newCall(request).execute();
```
在这个例子中,我们设置了两个响应头:`Authorization`和`User-Agent`。当你发送这个请求时,服务器会看到这些附加的头部信息。
相关问题
OkHttp3 设置响应头
OkHttp是一个流行的用于Android和Java应用程序网络请求的库。要设置响应头(也称为HTTP头部信息),你可以创建一个`Request.Builder`实例,然后通过`.header()`方法添加键值对。这是一个示例:
```java
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://example.com") // 替换为你需要发送请求的实际URL
.addHeader("User-Agent", "MyApp/1.0") // 添加自定义用户代理头
.addHeader("Authorization", "Bearer your_token") // 添加认证头,如JWT
.build();
Response response = client.newCall(request).execute();
// 然后处理响应...
```
在这个例子中,我们设置了用户代理头和授权头。你可以根据需要添加更多的响应头。如果你想要设置特定于某些请求的头,可以创建一个新的`Request`实例而不是复用`Builder`。
OkHttp3 拦截器设置响应头
OkHttp3 是一个强大的 HTTP 客户端库,它允许开发者方便地设置请求头和处理服务器返回的响应。要在 OkHttp3 中拦截器设置响应头,你可以创建一个 `Interceptor` 实现,并在 `intercept()` 方法中添加所需的操作。
下面是一个简单的例子,展示了如何在一个拦截器中设置响应头:
```java
import okhttp3.Interceptor;
import okhttp3.Response;
public class CustomHeaderInterceptor implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {
// 获取原始响应
Response originalResponse = chain.proceed(chain.request());
// 添加自定义响应头
originalResponse = originalResponse.newBuilder()
.header("Custom-Header", "YourValue")
.build();
return originalResponse;
}
}
```
然后,在创建 OkHttpClient 对象时,将这个拦截器添加到拦截器链中:
```java
OkHttpClient client = new OkHttpClient.Builder()
.addInterceptor(new CustomHeaderInterceptor())
.build();
```
现在每次请求都会包含你设置的 `Custom-Header`。
阅读全文