Не удалось разрешить удаленное имя-webclient
я сталкиваюсь с этой ошибкой:
The remote name could not be resolved: 'russgates85-001-site1.smarterasp.net'
когда я запрашиваю содержимое 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 в свой локальный код / среду, он работает нормально.
3 ответов
скорее всего, другое место, в котором вы запускаете код, действительно не имеет доступа к этому удаленному местоположению. Т. е. во многих корпоративных средах серверы не разрешены вне доступа в интернет.
Возможно, вы захотите попробовать ping / traceroute russgates85-001-site1.smarterasp.net
С этот другой сервер, и если нет доступа-настройте маршрутизатор / брандмауэр (открытый порт и т. д.) или использовать прокси
Я столкнулся с этим и должен был использовать IP удаленного сервера, а не DNS-имя. Производство пыталось получить доступ к удаленному серверу, используя его DNS-имя, которое не было жизнеспособным с этой стороны брандмауэра.
У меня была та же проблема, и я решил ее, установив прокси для webclient
явно нравится
webClient.Proxy = new WebProxy("myproxy.com:portnumber");
byte[] bytearr= webClient.DownloadData(acsMetadataEndpointUrlWithRealm);