Неверный URI: не удалось проанализировать имя хоста - PullRequest
17 голосов
/ 16 ноября 2010

Я пытаюсь построить Uri, но я не могу справиться с плохим URI

Есть ли способ, которым мы можем справиться с плохим URI

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. Спасибовы

Ответы [ 3 ]

20 голосов
/ 16 ноября 2010

Звоните Uri.TryCreate:

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 голос
/ 26 мая 2017

У меня был пробел после "http: //", например http: // exampleServer / exampleservice.svc, который вызвал эту ошибку.

0 голосов
/ 20 декабря 2016

Я получил похожую ошибку с nginx fastcgi-mono-server4.Оказывается, веб-сервер предоставил значение регулярного выражения для SERVER_NAME.Поэтому я должен исправить это на сервере, заменив fastcgi_param SERVER_NAME $server_name; на fastcgi_param SERVER_NAME $host;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...