我在公司网络中。在这个网络我无法通过IP ping外部网站。我只能像浏览器那样通过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访问的最快捷最简单的方法吗?
谢谢!
我知道我有网络限制,我不能ping通谷歌。但我想通过WebResponse调用它来查看网站是否可用。 – Shadow
从命令行刷新你的dns,看看是否有帮助:ipconfig/flushdns。您也可以运行tracert来查看它跳跃和阻止的位置......在dns处为10到1。 – 2015-11-03 08:32:08
我冲洗了DNS。 DNS捕获是空的。我再次尝试,但它不工作。 – Shadow