HttpWebRequest 到末尾带有点的 URL
当我使用 WebRequest.Create("http://abc/test.") 执行 GET 时,我得到 404,因为根据fiddler 尾随的点被 .NET 剥离,并且 Web 服务器需要该点。 我怎样才能防止这种情况或解决它。 任何解决方法表示赞赏!
when i do a GET with WebRequest.Create("http://abc/test.") i get 404 because according to fiddler the trailing dot gets stripped away by .NET and the web server needs the dot. how can i prevent that or work around it. any workaround is appreciated!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这是 Microsoft 论坛上多次出现的已知问题。
Uri
类错误地认为所有 URI 都像 Windows 磁盘文件一样,其中尾随点(对于无文件扩展名)不相关。http://social .msdn.microsoft.com/Forums/en-US/netfxbcl/thread/5206beca-071f-485d-a2bd-657d635239c9/
This is a known problem that has come up on the Microsoft forums a few times.
The
Uri
class incorrectly thinks that all URIs act like Windows disk files where a trailing dot (for no file extension) is not relevant.http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/5206beca-071f-485d-a2bd-657d635239c9/
你将点更改为字符串到十六进制
我认为这对你有用,因为我在 twitter API Oauth 格式中使用了它
you change the dot into String to Hex
i think it's useful for u, because i used it in twitter API Oauth formatting
官方错误报告中的“解决方法”选项卡中的解决方法:
https://connect.microsoft.com/VisualStudio/feedback/details/386695/system-uri-in Correctly-strips-trailing-dots?wa=wsignin1.0#tabs
..似乎是有效的。 基本上,在使用 System.Uri 之前运行此代码以重置 .NET 中的静态标志:
演示:
Workaround in workaround tab at the official bug report:
https://connect.microsoft.com/VisualStudio/feedback/details/386695/system-uri-incorrectly-strips-trailing-dots?wa=wsignin1.0#tabs
.. seems to be valid. Basically, run this code to reset a static flag in .NET before working with System.Uri:
Demonstrated:
将其中一些重写为不需要添加任何命名空间的函数
Re-wrote some of it to a function that dont require you to add any namespaces