首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >请求URL太长(20K字符) IIS 7

请求URL太长(20K字符) IIS 7
EN

Stack Overflow用户
提问于 2013-05-17 01:34:37
回答 2查看 4.5K关注 0票数 2

我有一个iPad应用程序,它向.NET应用程序发送数据。iPad应用程序是由一群猴子编写的,他们将所有请求都实现为GET而不是POST。

应用程序现在正在运行,客户端的数据正在发送超过20k个字符的请求,这给了我这个响应(使用Safari,它已经被测试用于至少80k字符的URL):

泛型414错误

如果请求超过了web.config中的requestFiltering/maxURL值,我将得到详细的IIS响应,如下所示:

IIS 414.14错误

由于我得到的是通用错误消息,而不是IIS特定的消息,这让我认为这并不是因为我可以在配置设置中修复一些东西(为了安全起见,我将maxURL设置为20亿)。

我知道请求应该使用POST,但目前我没有时间重写iPad应用程序,而且我的所有研究都只找到了一些无用的响应,比如"you to limit GET requests to 2K字符“"you 应当使用POST而不是GET”。如果这是你唯一的反馈,请不要费心回答。(例如,我知道这个问题及其答案。)

我需要知道我是否能快速解决这个问题,直到我有时间用正确的方式完成它。我还想知道是否有人知道来自iOS或IIS端的URL长度的严格限制,因为我找不到任何细节。

编辑:我的httpRuntime参数也被设置为接受远超过20k的字符。

EN

回答 2

Stack Overflow用户

发布于 2014-06-18 10:15:05

我知道这是个老问题,但万一有人会像我昨天那样面对它--设置web.config参数也帮不了我。我发现的是这篇MS文章:http://support.microsoft.com/kb/820129/en-us

我在HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters中添加了两个DWORD键

MaxFieldLength = 65534 MaxRequestBytes = 100000

注意事项:您需要重新启动服务器或至少重新启动HTTP服务,才能使这些键正常工作。

重新启动后,我成功地发送了一个查询字符串长度高达~32k字符的请求(不知道为什么只有~32k,也许是字符编码?)。所以我想这是Windows 2003和更高版本中URL长度的限制。

票数 5
EN

Stack Overflow用户

发布于 2013-05-17 02:06:49

如果您在多个客户端中看到这种情况,则可能是您的服务器设置。在.NET 4.0的httpRuntime部分中,maxUrlLengthmaxQueryStringLength的最大值都是32位有符号整数,即2147483647

代码语言:javascript
复制
<httpRuntime maxUrlLength="2147483647" maxQueryStringLength="2147483647" />
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16600113

复制
相关文章

相似问题

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