18.02.2008, 18:02 | #1 |
Участник
|
Закачка файлов из интернета через proxy в 4.0
Поднимая известную модификацию закачек курсов валют из интернета столкнулся с интерестной ошибкой. Если для доступа в интернет используется прокси сервер(указывается в параметрах IE), то при обращении к сайту выдается следующая ошибка
System.Net.WebException: The remote server returned an error: (407) Proxy Authentication Required. Обращение просто через браузер проходит нормально. Как я понимаю для NET где-то должно настраиваться, логин-пароль с которыми подключаться к интернету, но где? может кто решал подобные проблемы? Небольшой джоб для иллюстрации описанного случая: X++: static void TRUD_readInternet(Args _args) { XMLDocument ratesDoc = new XMLDocument() ; str url; ; URL = "http://www.cbr.ru/scripts/XML_dynamic.asp?" + "date_req1=" + Date2Str(1\01\2008, 123, 2, 4, 2, 4, 4) + "&" + "date_req2=" + Date2Str(12\01\2008, 123, 2, 4, 2, 4, 4) + "&" + "VAL_NM_RQ=" + "R01235"; if (RatesDoc.load(url)) { info("ok"); } else { throw error(RatesDoc.parseError().toString()); } } |
|
18.02.2008, 19:08 | #2 |
Участник
|
Цитата:
Сообщение от trud
Если для доступа в интернет используется прокси сервер(указывается в параметрах IE), то при обращении к сайту выдается следующая ошибка
System.Net.WebException: The remote server returned an error: (407) Proxy Authentication Required. Как я понимаю для NET где-то должно настраиваться, логин-пароль с которыми подключаться к интернету, но где? Proxy Authentication Required Последний раз редактировалось gl00mie; 18.02.2008 в 19:13. |
|
18.02.2008, 20:00 | #3 |
Участник
|
В данном случае запрос вроде как проходит от клиента, это же джоб.
В общем все удалось решить довольно просто без перенастройки ISA и прочих мудростей, правда не системно. Объявился объект типа COM X++: Object docCOM = new COM('Microsoft.Xmldom'); В процессе поиска выяснилось, что Ошибка 407 - это вроде как новая фишка в NET 2.0. Идея в том, чтобы первоначально не посылать никаких данных пользователя, приложение вначале должно просто пробовать соединиться, если в ответ возвращается 407, то надо подставить текущие данные пользователя, если и это не проходит, то уже запрашивать логин-пароль. Правда как с этим работать в Аксапте не очень то понятно, буду рад любым советам |
|
|
За это сообщение автора поблагодарили: someOne (1), Logger (3). |
19.10.2009, 11:05 | #4 |
Участник
|
точно такая же проблема с курсами (Ax 4.0). у нас выход в инет через прокси. на клиенте есть доступ в интернет и даже под тем логином под которым запущен AOS.
пробовал через 'Microsoft.Xmldom' вобще не создался. Есть какой-то простой способ заставить аксапту зайти в интернет через прокси? |
|
18.12.2013, 18:16 | #5 |
MCTS
|
System.Net.WebClient webClient;
System.String data; System.Net.WebProxy proxy; System.Net.NetworkCredential credential; Str strData; XMLDocument doc; ; URL = "http://www.cbr.ru/scripts/XML_val.asp?d=0"; webClient = new System.Net.WebClient(); proxy = new System.Net.WebProxy('адрес прокси', порт); credential = new System.Net.NetworkCredential("логин", "пароль"); proxy.set_Credentials(credential); webClient.set_Proxy(proxy); strData = webClient.DownloadString(URL); webClient.Dispose(); doc = xmlDocument::newXml(strData); |
|
|
За это сообщение автора поблагодарили: trud (1), Logger (3). |
Теги |
ax4.0, proxy |
|
|