CoderAnswer - 程序员编程问答

无法解析远程名称 - webclient

by @k-s

c# asp.net webclient

我遇到这个错误:

The remote name could not be resolved: 'russgates85-001-site1.smarterasp.net'

当我请求使用Web客户端读取html内容时,它给了我错误。 下面是我的代码。

string strHTML = string.Empty;
WebClient myClient = new WebClient();
UTF8Encoding utf8 = new UTF8Encoding();
byte[] requestHTML;
string pdfFileName = "outputpdf_" + DateTime.Now.Ticks + ".pdf";
string webUrl = Request.Url.Scheme + "://" + Request.Url.Host + (Request.Url.Port != 80 ? ":" + Request.Url.Port : "");

requestHTML = myClient.DownloadData("http://russgates85-001-site1.smarterasp.net/adminsec/images/printinvoice.aspx?iid=2");

//或

requestHTML = myClient.DownloadData(webUrl + "?iid=3");

当我在我的本地代码/环境中放置相同的URL时,它可以正常工作。


3个答案

7 by @Yuriy Galanter

您运行代码的其他位置很可能无法访问该远程位置。即在许多企业环境服务器上不允许外部Internet访问。 您可能想尝试ping traceroute russgates85-001-site1.smarterasp.net 来自*其他服务器,如果没有访问权限 - 配置路由器/防火墙(开放端口等)或使用代理

5 by @Ken Johnson

我碰到了这个,需要使用远程服务器的IP而不是DNS名称。 Production试图使用其DNS名称访问远程服务器,这在防火墙的那一侧是不可行的。

1 by @Sundara Prabu

我遇到了同样的问题,并通过为webclient设置代理来解决问题

明确地喜欢

 webClient.Proxy = new WebProxy("myproxy.com:portnumber"); 
 byte[]  bytearr= webClient.DownloadData(acsMetadataEndpointUrlWithRealm);

相关问题