android - GET 请求中 JSON 参数的长度限制

标签 android json api get

我的 Android 应用正在对我的服务器 API 进行两次 GET 调用。在第一个中,是这样的,其中参数 code 是一个 256 字符的字符串。

$.getJSON( myServerEndpoint, {
    action: "doStuff1",
    username: $("#username").val(),
    code: my256charString,
    format: "json"
})
.done(function( data ) {
    doStuff2Response(data);  
});

第二个是这个,其中参数 code 是一个 5120 字符的字符串。两者都到达相同的服务器端点。

$.getJSON( myServerEndpoint, {
    action: "doStuff2",
    username: $("#username").val(),
    code: my5120CharString,
    format: "json"
})
.done(function( data ) {
    doStuff2Response(data);  
});

当我从连接到 WiFi 或大多数移动数据提供商的同一设备和同一用户调用它们时,它工作得很好。

但是,当我从 Vodafone 数据连接进行连接时,第二个请求永远不会到达服务器。除了 Vodafone 的参数长度有限制外,我找不到任何其他解释。

有什么想法或解决方案吗?

最佳答案

好的,就这样吧。首先,阅读:What is the maximum length of a URL in different browsers?

是的,“URL”的长度有限制,但我不知道如何解释为什么它只发生在 vodafone 上。另外,我什至不知道请求是如何通过他们的服务器的。

对于解决方案,当payload太大时,你应该考虑从GET请求改为POST请求。

关于android - GET 请求中 JSON 参数的长度限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31698728/

相关文章:

android - 使用 Hilt,如何注入(inject)没有上下文的类?

javascript - Wikitude:使用 "architectsdk://"技术从 HtmlDrawable 内部与 Java 代码通信

json - 使用 AngularJS 获取 JSON 数据并在返回对象上添加方法

javascript - 如何保护 JavaScript 应用程序的 API 调用?

php - Android:使用 HTTPClient 将日期对象发布到 PHP

java - 我如何从 LatLng 获得邻居

javascript - 将 JSON 响应转换为 JavaScript 中的正确编码

json - Delphi:将 JSON 数组添加到 JSON 对象

javascript - 从 JSON api 解析图像 url

python - 请求异常.HTTPError : 404 Client Error: Resource Not Found for url | Azure Cognitive Services Api