当请求的长度超过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+字符时,它给我一个错误的请求。如有任何帮助,不胜感激。
记录我的经历:
我的问题是@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 http
和net start http
。
https://blogs.msdn.microsoft.com/amyd/2014/02/06/response - 400坏-请求- -长- url/