为什么链接"@"在我的浏览器中工作,但C#HttpWebRequest给出404(远程服务器返回错误:(405)Method Not Allowed.)

Gre*_*reg 2 c# url http httpwebrequest

任何人都有一个想法,为什么在我的浏览器中有一个带有"@"的链接,但是当我在我的HttpWebRequest代码中获得这个特定链接时,我得到405错误?

远程服务器返回错误:(405)方法不允许.

有问题的示例链接:

http://internal_link/@api/deki/site/logo.png
Run Code Online (Sandbox Code Playgroud)

谢谢

Pin*_*juh 5

@符号是URL中的保留字符.

reserved    = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
              "$" | ","
Run Code Online (Sandbox Code Playgroud)

(见http://www.ietf.org/rfc/rfc2396.txt)

所以我建议逃避(浏览器自动执行的操作),%40而不是使用@.