首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >okhttp3 - 413请求实体太大

okhttp3 - 413请求实体太大
EN

Stack Overflow用户
提问于 2018-12-26 20:20:14
回答 2查看 4.9K关注 0票数 0

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

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

代码语言:javascript
运行
复制
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();
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-26 20:52:43

这实际上不是您的代码的问题,而是您要将数据发送到的服务器对请求有效负载大小有限制。有关该错误的详细信息,请参阅:HTTP Response Status Code 413: Payload too large

如果您可以控制服务器,则可以调整此设置。可以在here中找到一些常见服务器(Apache、NGINX、IIS)修复此错误的示例。

如果您不受控制,您可能需要查看您正在使用的服务的API /文档,以用于其他上传数据的方式。该服务可能只是对该特定用例的有效负载大小有严格的限制。

票数 4
EN

Stack Overflow用户

发布于 2018-12-26 20:46:08

这不是您的超文本传输协议客户端(okHttp)定义的限制,而是服务器限制。

基本上,您请求的服务器不接受大的请求体。我不知道它是否是公共API,但你应该查看他们的文档,看看你的请求出了什么问题,或者如果你确定你的实现是正确的,你应该联系主机。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53932036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档