okhttp 401
时间: 2024-01-23 16:15:51 浏览: 135
当使用OkHttp发送请求时,如果服务器返回401 Unauthorized状态码,表示请求需要进行身份验证。为了解决这个问题,可以使用OkHttp的`Credentials.basic()`方法来添加身份验证信息。
以下是一个示例代码,演示了如何使用OkHttp发送带有身份验证的POST请求:
```java
public String post(String url, String json, String username, String password) throws IOException {
RequestBody body = RequestBody.create(JSON, json);
String credential = Credentials.basic(username, password); // 添加身份验证信息
Request request = new Request.Builder()
.header("Authorization", credential) // 添加Authorization头部,包含身份验证信息
.url(url)
.post(body)
.build();
try (Response response = client.newCall(request).execute()) {
return response.body().string();
}
}
```
在上述代码中,`Credentials.basic()`方法用于创建一个包含用户名和密码的身份验证字符串。然后,通过`header("Authorization", credential)`方法将身份验证信息添加到请求的头部中。
请注意,上述代码中的`client`对象是一个OkHttpClient实例,需要在代码中进行初始化。
阅读全文