检查相对 URI 是否存在
我想检查 URI 是否返回有效结果。 示例:
String path = String.Format("{0}/agreements/{1}.gif", PicRoot, languageTwoLetterCode);
WebRequest request = WebRequest.Create(new Uri(path, UriKind.Relative));
...
这会抛出一个 notsupportedException。所以我认为我应该提供绝对 URI。 我能找到的所有示例都使用硬编码根(例如 www.example.com)。这当然是不可接受的,因为不确定网站的实际根目录是什么。
如何检查相对 URI 的结果或找到当前根? 有没有更好的方法来检查“/content/pics/agreements/en.gif”是否返回 gif 还是 404?
I want to check if a URI returns a valid result.
Example:
String path = String.Format("{0}/agreements/{1}.gif", PicRoot, languageTwoLetterCode);
WebRequest request = WebRequest.Create(new Uri(path, UriKind.Relative));
...
This throws a notsuportedexception. So I figure I should be providing the absolute URI.
All examples I can find use a hardcoded root (like www.example.com). This is off course unacceptable because it is uncertain what the actual root of the website will be.
How can I either check the result from a relative URI or find the current root?
Are there better ways to check if say "/content/pics/agreements/en.gif" returns a gif or a 404?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以从服务器对象获取网站的根目录。
您可以使用 Server.MapPath (请参阅还有),然后检查物理是否路径位于服务器上(使用 File.Exists)
You can get the root of the web site from the server object.
You could use Server.MapPath (see also) and then check if the physical path is on the server (use File.Exists)