Java okhttp3-413请求实体太大
当我的系统使用okhttp3发送http请求时,会出现以下问题: 413请求实体太大 我想知道如何在okhttp3请求中设置最大大小,或者是否有其他解决方案解决此问题Java okhttp3-413请求实体太大,java,request,okhttp,okhttp3,http-status-code-413,Java,Request,Okhttp,Okhttp3,Http Status Code 413,当我的系统使用okhttp3发送http请求时,会出现以下问题: 413请求实体太大 我想知道如何在okhttp3请求中设置最大大小,或者是否有其他解决方案解决此问题 public static String post(String url, String json) throws IOException { OkHttpClient client = new OkHttpClient().newBuilder() .readTimeout(1, TimeUnit
public static String post(String url, String json) throws IOException {
OkHttpClient client = new OkHttpClient().newBuilder()
.readTimeout(1, TimeUnit.MINUTES)
.build();
RequestBody body = RequestBody.create(JSON, json);
Request request = new Request.Builder()
.header("Authorization", authKey)
.url(url)
.post(body)
.build();
try (Response response = client.newCall(request).execute()) {
if(response.code() != 200) {
return "request error";
}
return response.body().string();
}
}
这不是HTTP客户端(okHttp)定义的限制,而是服务器限制 基本上,您请求的服务器不接受大型请求主体。
我不知道它是否是一个公共API,但是您应该检查他们的文档,看看您的请求有什么问题,或者如果您确定您正确地实现了,您应该联系主机 这实际上不是代码的问题,而是发送数据的服务器对请求负载大小有限制。有关错误的详细信息,请参阅: 如果您控制服务器,则可以调整此设置。可以找到几个常见服务器(Apache、NGINX、IIS)修复此错误的示例
如果您无法控制,您可能需要查看您正在使用的服务的API/文档,以了解上传数据的其他方式。该服务可能只是对特定用例的有效负载大小有严格限制。谢谢。我错了,我找到了解决方案并在我的服务器上进行了修复。