Я в сети компании. В этой сети я не могу пинг внешних сайтов по IP. Я могу назвать их только по URL-адресу, например браузеру. Вот почему я использую WebRequest.Удаленное имя не может быть разрешено «www.google.com»
Когда я пытаюсь позвонить «www.google.com», я получил «удаленное имя не может быть разрешено (www.google.com)».
У меня нет заблокированной записи в моем брандмауэре. С помощью этого кода я могу вызывать внутренние веб-сайты, но не внешние.
Это мой код:
public void pingIP()
{
try
{
var url = uriBuilder;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url.Uri);
//request.Accept = "*/*";
//request.UseDefaultCredentials = true;
//request.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
//request.UserAgent = "Foo";
//request.Accept = "*/*";
request.Method = "HEAD";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
_PingByURL = response.StatusCode == HttpStatusCode.OK;
}
catch
{
}
}
В app.config:
<system.net>
<defaultProxy enabled ="true" useDefaultCredentials = "true">
<proxy usesystemdefault ="True" bypassonlocal="True"/>
</defaultProxy>
</system.net>
Как я могу разрешить удаленное имя? И этот быстрый и самый чистый способ проверить, доступен ли сайт по URL-адресу?
Спасибо!
Я знаю, что у меня есть сетевые ограничения, которые я не могу выполнить для Google. Но я хочу называть его WebResponse, чтобы узнать, доступен ли сайт. – Shadow
Сбросьте свои dns из командной строки и посмотрите, поможет ли это: ipconfig/flushdns. Вы также можете запустить tracert, чтобы увидеть, где он прыгает и блокирует ... 10 к одному в dns. –
Я покраснел dns. Улов dns пуст. Я попытался снова, но он не работает. – Shadow