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

Gir*_*bot 2 iis-7 ios

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

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

通用414错误

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

IIS 414.14错误

由于我收到的是通用错误消息而不是特定于IIS的消息,因此我认为这不是由于我可以在配置设置中修复的内容(我将maxURL设置为20亿,只是为了安全......)

我知道请求应该使用POST,但我现在没有时间重写iPad应用程序,而且我的所有研究都只发出了无用的回复,说"你应该将GET请求限制为2K字符" "你应该使用POST而不是GET".如果这是您的唯一反馈,请不要打扰回答.(例如,我知道这个问题,这是答案.)

我需要知道是否可以快速解决方法来实现此功能,直到我有时间以正确的方式执行此操作.而且我也想知道是否有人知道来自iOS或IIS方面的硬限制URL长度,因为我找不到任何细节.

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

Ily*_*nin 5

我知道这是一个旧的,但万一有人会像我昨天那样面对它 - 设置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长度的限制.