Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 请求URL太长(20K个字符)IIS 7_Ios_Iis 7 - Fatal编程技术网

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

Ios 请求URL太长(20K个字符)IIS 7,ios,iis-7,Ios,Iis 7,我有一个iPad应用程序,可以将数据发送到.NET应用程序。iPad应用程序是由一群猴子编写的,他们将所有请求都作为GET而不是POST来实现 该应用程序现在是实时的,客户端的数据正在发送超过20k个字符的请求,这给了我这个响应(使用Safari,它已经过测试,可以处理至少80k个字符的URL): 如果请求超过web.config中的requestFiltering/maxURL值,我将得到详细的IIS响应,如下所示: 由于我得到的是一般错误消息而不是IIS特定消息,这使我认为这不是由于我可

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

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

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

由于我得到的是一般错误消息而不是IIS特定消息,这使我认为这不是由于我可以在配置设置中修复的问题(为了安全起见,我将maxURL设置为20亿…)

我知道请求应该使用POST,但我现在没有时间重写iPad应用程序,我所有的研究都只发现了毫无帮助的回答:“你应该将GET请求限制在2K个字符以内”“你应该使用POST而不是GET”。如果这是你仅有的反馈,请不要费心回答。(例如,我知道和它的答案。)

我需要知道,在我有时间以正确的方式完成之前,我是否可以快速解决此功能。我还想知道是否有人知道iOS或IIS端的硬限制URL长度,因为我找不到任何细节


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

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

<httpRuntime maxUrlLength="2147483647" maxQueryStringLength="2147483647" />

如果您在多个客户端中看到这一点,很可能是您的服务器设置。在.NET 4.0的
httpRuntime
部分中,和的最大值都是32位有符号整数,或
2147483647

<httpRuntime maxUrlLength="2147483647" maxQueryStringLength="2147483647" />

我知道这是一个旧版本,但万一有人会像我昨天那样面对它-设置web.config参数也帮不了我。我发现的是这篇MS文章:。
我已向HKEY\U LOCAL\U MACHINE\System\CurrentControlSet\Services\HTTP\Parameters添加了两个DWORD键

MaxFieldLength=65534
MaxRequestBytes=100000


注意:您需要重新启动服务器或至少HTTP服务才能使这些密钥正常工作。
重新启动后,我成功发送了一个查询字符串长度高达~32k个字符的请求(不知道为什么只有~32k个字符,可能是字符编码?)。因此,我猜这是Windows 2003及以上版本中URL长度的限制。

我知道这是一个旧的限制,但万一有人会像我昨天那样面对它-设置web.config参数也帮不了我。我发现的是这篇MS文章:。
我已向HKEY\U LOCAL\U MACHINE\System\CurrentControlSet\Services\HTTP\Parameters添加了两个DWORD键

MaxFieldLength=65534
MaxRequestBytes=100000


注意:您需要重新启动服务器或至少HTTP服务才能使这些密钥正常工作。
重新启动后,我成功发送了一个查询字符串长度高达~32k个字符的请求(不知道为什么只有~32k个字符,可能是字符编码?)。因此,我猜这是Windows 2003及更高版本中URL长度的限制。

您的
httpRuntime
参数和.NET的哪个版本有什么限制?使用.NET 4.0,maxUrlLength和maxQueryStringLength的httpRuntime参数也设置为20亿。您的
httpRuntime
参数和.NET的哪个版本?使用.NET 4.0,maxUrlLength和maxQueryStringLength的httpRuntime参数也设置为20亿。对不起,我应该提到我的httpRuntime参数也被适当地设置了。最大值是:2097151对不起,我应该提到我的httpRuntime参数也被适当地设置了。最大值是:2097151谢谢,我有相同的问题,这已经解决了。我使用了相同的解决方案,但得到相同的限制(32k)。有人克服了这个限制吗?谢谢,我遇到了同样的问题,这个问题已经解决了。我使用了同样的解决方案,但是得到了同样的限制(32k)。有人克服了这个限制吗?