|
|
|
HTTP через прокси | ☑ | ||
|---|---|---|---|---|
|
0
Kulak Faust
04.05.08
✎
16:31
|
Ввожу в браузере строку: http://cbrates.rbc.ru/tsv/cb/978.tsv
Всё нормально, файл грузится. В браузере настройки: Использовать прокси-сервер - да Адрес - [сервер прокси] Порт - 8080 Не использовать прокси-сервер для локальных адресов - да Пытаюсь сделать тоже самое через 1С. ПроксиСервер = Новый ИнтернетПрокси(); ПроксиСервер.Пользователь = ИмяПользователя; ПроксиСервер.Пароль = ПарольПользователя; //как при входе в сеанс винды ПроксиСервер.Установить("http",Сервер,Порт); //сервер и порт указаны как в браузере ПроксиСервер.Установить("https",Сервер,Порт); HTTP = Новый HTTPСоединение(СерверИсточник,,,, ПроксиСервер, истина); // СерверИсточник="cbrates.rbc.ru" HTTP.Получить(СтрокаПараметраПолучения, ИмяВходящегоФайла); // СтрокаПараметраПолучения="tsv/cb/978.tsv" На последней строке вываливается ошибка: "Ошибка работы с Интернет: failure when receiving data from the peer" Соединение по идее должно быть защищенным. Если делать незащищенное соединение: HTTP = Новый HTTPСоединение(СерверИсточник,,,, ПроксиСервер, ложь); то падает с ошибкой: "Ошибка при вызове метода контекста (Получить): Ошибка доступа к файлу 'tsv/cb/978.tsv' HTTP.Получить(СтрокаПараметраПолучения, ИмяВходящегоФайла); по причине: Ошибка доступа к файлу 'tsv/cb/978.tsv' по причине: Ошибка работы с Интернет: требуется аутентификация прокси (407)." Кто-нибудь сталкивался с подобной проблемой? Где копать? |
|||
|
1
ТелепатБот
гуру
04.05.08
✎
16:31
|
||||
|
2
Kulak Faust
04.05.08
✎
17:09
|
телепат-бот не помог (
|
|||
|
3
Kulak Faust
05.05.08
✎
16:39
|
UP
Надежда на бубен? |
|||
|
4
shuhard
05.05.08
✎
16:42
|
(3)
Приложение В. Формат файла настройки прокси по умолчанию inetcfg.xml Файл inetcfg.xml позволяет задавать настройки прокси по умолчанию и имеет больший приоритет над настройками прокси по умолчанию в Windows. Файл располагается в каталоге CONF каталога исполняемых файлов системы 1С:Предприятие 8.1 и его наличие не является обязательным. Если он отсутствует, то настройки в Windows берутся из настроек InternetExplorer'a. В Linux, если есть необходимость работать через прокси, файл inetcfg.xml должен присутствовать. Корневой элемент InternetProxy, задающий настройки прокси по умолчанию имеет следующую структуру (атрибуты): protocols protocols : строка (необязательное) – задает имя и порт хоста для протоколов. Имеет формат: ПараметрыПроксиПротокола1 ПараметрыПроксиПротокола2 … ПараметрыПроксиПротоколаN ПараметрыПроксиПротокола:= [Протокол] “=” хост”:”порт Список параметров прокси протоколов разделен пробелами. Каждый параметр состоит из необязательного имени протокола, знака “равно”, имени хоста и порта прокси сервера разделенных двоеточием. Если имя протокола не указано, то параметры прокси используются для всех протоколов, для которых они явно не указаны. Протоколы могут иметь следующие имена: · http; · https; · ftp. Регистр является значимым, другие имена протоколов не поддерживаются. Пример: protocols="http=10.1.0.8:8080 10.1.0.9:8080" В примере для протокола http определены параметры прокси: хост – 10.1.0.8, порт – 8080. Для остальных протоколов (https, ftp): хост - 10.1.0.9, порт – 8080. user user : строка (необязательное) – имя пользователя для аутентификации на прокси сервере. Пример: user="proxyUser" password password : строка (необязательное) – пароль пользователя для аутентификации на прокси сервере. Пример: password="proxyPassword" bypassOnLocal bypassOnLocal : булево (необязательное) – признак того, использовать ли прокси сервер для локальных адресов: · true – не использовать; · false – использовать. Локальность адреса определяется по наличию точки в DNS имени адреса (т.е. все IP адреса не являются локальными). Поэтому может получиться так, что фактически локальный адрес не распознается как локальный. Например: <пользовать>.<домен> – является в WindowsXP локальным адресом, но не распознается как локальный. Для того чтобы запретить использовать прокси для адресов, которые воспринимаются как локальные, используется следующий параметр: bypassOnLocal="true" Для всех остальных адресов нужно использовать параметр – bypassOnAddresses. bypassOnAddresses bypassOnAddresses : строка (необязательное) – список адресов, для которых прокси не используется. Имеет формат: хост1 хост2 … хостN Имена хостов разделяются пробелами. Имя хоста может содержать специальные символы маски: * – любое количество символов, ? – любой символ. Например, чтобы блокировать прокси для всех хостов домена, нужно использовать: *.<имя домена>. Пример: bypassOnAddresses=" 127.0.0.1 *.master" В примере для адреса 127.0.0.1 (localhost) и для всех адресов домена master прокси не используется. Общий пример файла inetcfg.xml: <InternetProxy protocols="http=10.1.0.8:8080 10.1.0.9:8080" user="proxyUser" password="proxyPassword" bypassOnLocal="true" bypassOnAddresses="127.0.0.1 *. master" />, |
|||
|
5
Kulak Faust
05.05.08
✎
17:03
|
Спасибо, попробовал с inetcfg.xml, в программе оставил только:
ПроксиСервер = Новый ИнтернетПрокси(); HTTP = Новый HTTPСоединение(СерверИсточник,,,, ПроксиСервер, истина); HTTP.Получить(СтрокаПараметраПолучения, ИмяВходящегоФайла); Если смотреть по отладчику на реквизиты объекта HTTP, то по сути ничего не меняется, прописываю ли я настройки программно, не пропиываю нигде и они берутся из IE или я использую inetcfg.xml. Результат один и тот же. Не пашет. Выдает все те же ошибки. |
|||
|
6
shuhard
05.05.08
✎
17:12
|
(5) мне разок пришлось переписать код:
полная ветка здесь: v8: Курсы валют СерверИсточник = СерверИсточникПараметр; СтрокаПараметраПолучения = СтрокаПараметраПолученияПараметр; ИмяВходящегоФайла = ИмяВходящегоФайлаПараметр; Попытка aUrlRequest = "http://" + СерверИсточникПараметр + "/" + СтрокаПараметраПолучения; oXMLHTTP = Новый COMОбъект("MSXML2.XMLHTTP"); oXMLHTTP.open("GET",aUrlRequest, False ); oXMLHTTP.Send(); FSO = Новый COMОбъект("Scripting.FileSystemObject"); Fso.CreateTextFile(ИмяВходящегоФайла,True); FileFso =Fso.OpenTextFile(ИмяВходящегоФайла,2,True); FileFso.writeline(oXMLHTTP.responseText); Возврат Истина; Исключение |
|||
|
7
Kulak Faust
05.05.08
✎
17:52
|
Спасибо! Заработало!
Жалко, что сам январскую ветку не смог найти :) |
|||
|
8
shuhard
05.05.08
✎
18:21
|
(7) не поверишь, я ветку со вчерашнего дня искал, нашел через sql.ru
|
|||
|
9
b_ru
05.05.08
✎
22:07
|
Прокси при авторизации использует не NTLM? (Ms Isa, например) Если так, то скорее всего со встроенным 1Совским классом ИнтернетПрокси можно распрощаться.
|
|||
|
10
Kulak Faust
06.05.08
✎
10:51
|
админ говорит, что NTLM
|
|||
|
11
Timuss
06.05.08
✎
13:04
|
(10) ну вот в том и собака..пусть админ поставит временно Plain Text Password и все взлетит...
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |