Java okhttp3-413请求实体太大

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

当我的系统使用okhttp3发送http请求时,会出现以下问题: 413请求实体太大

我想知道如何在okhttp3请求中设置最大大小,或者是否有其他解决方案解决此问题

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/文档,以了解上传数据的其他方式。该服务可能只是对特定用例的有效负载大小有严格限制。

谢谢。我错了,我找到了解决方案并在我的服务器上进行了修复。