菜鸟教程小白 发表于 2022-12-13 02:35:40

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


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

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

<p> <a href="https://i.imgur.com/OkOCHoB.png" rel="noreferrer noopener nofollow">Generic 414 Error</a> </p>

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

<p> <a href="https://i.imgur.com/NPRC3rK.png" rel="noreferrer noopener nofollow">IIS 414.14 Error</a> </p>

<p>由于我收到的是通用错误消息而不是特定于 IIS 的消息,这让我认为这不是由于我可以在配置设置中修复的问题(我将 maxURL 设置为 20 亿,只是为了安全...... .)</p>

<p>我知道请求应该使用 POST,但我现在真的没有时间重写 iPad 应用程序,而且我所有的研究都只是出现了无益的回复,上面写着“你 <strong>应该</strong> 将 GET 请求限制为 2K 个字符”“您<strong>应该</strong>使用 POST 而不是 GET”。如果这是您唯一的反馈,请不要费心回答。 (例如,我知道 <a href="https://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers" rel="noreferrer noopener nofollow">this question</a> 和它的答案。)</p>

<p>我需要知道是否可以快速解决此问题,直到我有时间以正确的方式执行此操作。而且我还想知道是否有人知道来自 iOS 或 IIS 端的硬限制 URL 长度,因为我找不到任何细节。</p>

<p>编辑:我的 httpRuntime 参数也设置为接受超过 20k 个字符。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我知道这是一个旧的,但万一有人会像我昨天那样面对它 - 设置 web.config 参数也没有帮助我。我发现的是这篇 MS 文章:<a href="http://support.microsoft.com/kb/820129/en-us" rel="noreferrer noopener nofollow">http://support.microsoft.com/kb/820129/en-us</a> .<br/>
我在 <strong>HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters</strong> 中添加了两个 DWORD 键:</p>

<blockquote>
<p>MaxFieldLength = 65534 <br/>
MaxRequestBytes = 100000 <br/></p>
</blockquote>

<p><strong>注意</strong>:您需要重新启动服务器或至少 HTTP 服务才能使这些 key 正常工作。<br/> 重新启动后,我已成功发送查询字符串长度为 ~ 的请求32k 个字符(不知道为什么只有 ~32k,也许是字符编码?)。所以我猜这是 Windows 2003 及更高版本中 URL 长度的限制。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 请求 URL 太长(20K 个字符) IIS 7,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/16600113/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/16600113/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 请求 URL 太长(20K 个字符) IIS 7