当请求的长度超过320+字符时,我得到一个400错误的请求-无效的Url

本文关键字:请求 一个 错误 Url 无效 320+ 字符 | 更新日期: 2023-09-27 18:16:27

不知道是什么原因。在Web中增加了以下内容。配置也。maxUrlLength="1024"maxQueryStringLength="1024"requestPathInvalidCharacters="maxRequestLength="1024"relaxedUrlToFileSystemMapping="true"我对uri参数进行编码并发送请求,但总是得到一个无效的url。Url: http://localhost: 51840/api/xxxxxxx/xxxxxxxxxxxx/n4cEF3OM0LC0q8I6OMe0XdHo8evXnoeyC06A % 252 fl % 252 fu0a % 252 f6e0rqrdxl2 % 252 fpksknfh4aeqm78trex1zifgdb1bgh % 252 bgbei % 252 fbw6i0dwq6 % 252 b3dk6yjs1uzqqicqye6qqvx8bjt % 252 fbk7ge8a22fexjipvtegfrmp4wchc4pirhae6qgk28kiasgffuc9tddrzhlfmyjslugpssesuoc5inxlf3ftfne7sg7gixrltlwhfjiatzwwspc % 252 bfo6bittfa % 253 d % 253 d

如果我将url简化为以下内容,则可以正常工作。http://localhost: 51840/api/xxxxxxx/xxxxxxxxxxxx/n4cEF3OM0LC0q8I6OMe0XdHo8evXnoeyC06A % 252 fl % 252 fu0a % 252 f6e0rqrdxl2 % 252 fpksknfh4aeqm78trex1zifgdb1bgh % 252 bgbei % 252 fbw6i0dwq6 % 252 b3dk6yjs1uzqqicqye6qqvx8bjt % 252 fbk7ge8a22fexjipvtegfrmp4wchc4pirhae6qgk28kiasgffuc9tddrzhlfmyjslugpssesuoc5inxlf3ftfne7sg7gixrltlwhfjiatzwwspc % 252 bfo6bi

当最后10+字符时,它给我一个错误的请求。如有任何帮助,不胜感激。

当请求的长度超过320+字符时,我得到一个400错误的请求-无效的Url

记录我的经历:

我的问题是@Mark指出的问题评论:

"默认最大url段长度为260"

他建议在注册表中增加这个限制,但我不想有这样的麻烦。@Vignesh T的建议效果更好:

"将url段替换为querystring参数,它可以正常工作"

总之,与其这样做:

http://path.to.website/very-long-string-goes-here/

我刚刚做了:

http://path.to.website/?key=very-long-string-goes-here

在powershell中运行

Set-ItemProperty -Path HKLM:'System'CurrentControlSet'Services'HTTP'Parameters -Name UrlSegmentMaxLength -Value 2000 -Type "Dword"

则做net stop httpnet start http

https://blogs.msdn.microsoft.com/amyd/2014/02/06/response - 400坏-请求- -长- url/

相关文章: