9

我面临这个错误:

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");

// OR

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

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

4

4 回答 4

7

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

于 2013-05-19T01:35:06.163 回答
6

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

于 2014-06-18T19:51:23.947 回答
1

By default it will take system proxy.

To solve this, force to set your proxy in web.config or .cs api webclient.

Code fix should be like following, In under System.net section in web.config

<defaultProxy>

<proxy proxyaddress="http://0.000.000.000:00" bypassonlocal="True" usesystemdefault="False" autoDetect="False" />

</defaultProxy>
于 2019-05-14T11:30:42.460 回答
1

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

明确喜欢

 webClient.Proxy = new WebProxy("myproxy.com:portnumber"); 
 byte[]  bytearr= webClient.DownloadData(acsMetadataEndpointUrlWithRealm);
于 2016-04-08T09:27:48.460 回答