我正在尝试构建Uri但是我无法处理坏的uri的
我们有什么方法可以处理坏的uri's
if (reviews[e.Item.ItemIndex].URL.ToString().Contains("http:"))
{
oURI = new Uri(reviews[e.Item.ItemIndex].URL.ToString());
}
else
{
oURI = new Uri("http://"+ reviews[e.Item.ItemIndex].URL.ToString());
}
其他部分因错误的uri而出错 谢谢
答案 0 :(得分:20)
string original = reviews[e.Item.ItemIndex].URL.ToString();
if (!original.StartsWith("http:"))
original = "http://" + original;
Uri uri;
if (!Uri.TryCreate(original, UriKind.Absolute, out uri)) {
//Bad bad bad!
}
答案 1 :(得分:1)
" http://"像http:// exampleServer / exampleservice.svc这导致了这个错误。
答案 2 :(得分:0)
我和nginx fastcgi-mono-server4有类似的错误。事实证明,网络服务器为SERVER_NAME提供了正则表达式值。因此,我必须将fastcgi_param SERVER_NAME $server_name;
替换为fastcgi_param SERVER_NAME $host;
答案 3 :(得分:0)
尝试在C#中构造URI对象时遇到了类似的错误。 对我来说,问题是长度。
答案 4 :(得分:0)
对于任何人来说,这可能是个问题,
在我的某些网址上有Invalid URI: The hostname could not be parsed
,而在某些网址上却没有。
我调查了网址制作问题they had '\' instead of '/' in urls
因此在URI解析中会引发错误。