HTTP 400 : detected invalid characters in the URL.

2019-02-17 18:54发布

问题:

So i have this URL: http://test.com/afolder/who-else-wants-to-make-horror-movies%3f/

which is URL encoded version of : http://test.com/afolder/who-else-wants-to-make-horror-movies?/

But IIS7 throws a 400:

HTTP Error 400.0 - Bad Request ASP.NET detected invalid characters in the URL.

But why is it doing that if i have correctly encoded the URL?

I'm also having the same issue with other URL encoded chars like '/' which is '%2f' but when .net resolves the handler it does so after decoding the URL which then changes the effective path, grrrr.

回答1:

Looks like there are some issues with IIS7 on x64....not sure if this is your issue or not:

http://blogs.iis.net/rakkimk/archive/2008/10/10/asp-net-2-0-x64-you-may-get-http-400-bad-request-or-error-as-mentioned-in-kb-932552-or-826437.aspx