Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Захотел скачать программно КЛАДР с сайта ГНИИВЦ. Получил ошибку 301. (http://forums.kuban.ru/f1040/zahotel_skachat-_programmno_kladr_s_sajta_gniivc_poluchil_oshibku_301_a-8318392.html)

iMoxa 14.05.2017 12:57

Захотел скачать программно КЛАДР с сайта ГНИИВЦ. Получил ошибку 301.
 
Почитал инет по этому поводу, обработку от 1С по анализу доступности ресурсов сети посмотрел.
Я правильно понял, что это не лечится?
Прим. Про скачать с другого сайта пока не интересует.

qweqwe123123 14.05.2017 15:25

[url]https://www.gnivc.ru/inf_provision/classifiers_reference/kladr/[/url]

руками - скачивается

iMoxa 14.05.2017 16:00

(1) Спасибо, КЭП! :))))))))
Но вопрос остался открытым.

VZ 14.05.2017 17:57

Вот скачали руками. Положили на диск.
- Пользуйся из любой БД. Даже не важно, какая конфа.
- Можно адреса не всей страны в РС запсочить, а по округам: сегодня Кинешма, а завтра Кострома.
Но... ХАЧУ-ХАЧУ-ХАЧУ.

А если получим желаемое?
- Скидывается в одну конкретную БД. Захочешь в другую - повтояй процесс. Или городи обмен.
- Юзер, обнаружив, что забыл по Кострому, и обиженный долгим ожиданием, скачивает по новому, расставляя все "птички". Загаживая весь РС всеми возможными округами. За соотвествующее время, конечно.
- А рядом его коллега на другой БД делает то же самое.
И где бульон?
Но... ХАЧУ-ХАЧУ-ХАЧУ.
Зачем?!
ХАЧУ-ХАЧУ-ХАЧУ. Пусть лечат. Немедленно!! А то укушу!

Блондинка в шок 14.05.2017 18:55

Раньше gnivc по http работал.
А с какого-то времени перешел на "[em]моднявый[/em]" https
ну и соответственно, редирект у себя сделали.
Может, ты по старинке стучишься на http, а 301 редирект с одного на другой как-то криво срабатывает.

Как ты файл запрашиваешь, мы не знаем, а ты не говоришь.
может просто "[em]Истина[/em]" последним параметром не включил ?
опять же, сертификат гнивцевский надо бы установить. Да и его вышестоящие корневые. Оно никак не помешает, пусть себе будут установлены, жалко, что-ли.

И вообще покажи, как файлик пытаешься получить?
типа так

HTTP = Новый HTTPСоединение("www.gnivc.ru",,,,,[b]Истина[/b]);
HTTP.Получить("/html/gnivcsoft/KLADR/BASE.7z", "c:\BASE.7z") )

Или как-то по другому?
А то гадать можно до бесконечности.

iMoxa 14.05.2017 19:26

(4) +1
пытался без истины. С истиной ошибка вылазит. До установки сертификатов не дошел :(.

VZ 15.05.2017 00:05

4-Блондинка в шок > "[em]сертификат гнивцевский надо бы установить[/em]" - а нафига?

Блондинка в шок 15.05.2017 10:06

6-VZ > :) Ну, не хочешь, можешь не ставить. Воля ваша, барин, все в ваших ручках.

Ты дальше читал? Вот это - "[em]гадать можно до бесконечности...[/em]"
Какая платформа у автора - 8.0, 8.1, 8.2, 8.3?, а может 7.7?
Каким способом он пытается получить файл, знаешь? Нам тут код показали?

Потому при таких расплывчатых исходных условиях советы не менее расплывчатые :)
И совет про сертификаты истекает из вот этого:
"[em] В документации дословно сказано:
"...Для того чтобы включить возможность работы по протоколу SSL нужно:
· получить серверный сертификат для Web-сайта, для которого планируется использовать SSL. Сертификат выдается Центром Сертификации и привязывается к этому Web-сайту;
· корневой сертификат Центра Сертификации должен быть добавлен в файл cacert.pem из каталога установки 1С:Предприятия на всех клиентах, которым необходим доступ по защищенному каналу. Сертификат должен быть в формате PEM (Privacy Enhanced Mail);...[/em]"

А если у автора 8.3, так там и совсем по другому можно...

Суть одна - он "стучится" к гнивц по HTTP, а тот его редиректит на HTTPS.
А ему просто надо "стучаться" напрямую по HTTPS.
А какими способами, да даже на какой платформе, я не знаю. А ты?

VZ 15.05.2017 10:30

7-Блондинка в шок > Просто сабж "Скачать КЛАДР". Не залезть в "Личный Кабинет". Не отчитаться по налогу. А скачать файл, находящимся в открытом доступе.
Без всякого SSL.

ИМХО: Классификаторам (федеральным, международным, межгалакическим) не место в БД. А что там в конфе намудрили... Ну, намудрили. Может быть. Не колышет.

user1C 15.05.2017 10:34

(0)
HTTP = Новый HTTPСоединение("www.gnivc.ru",,,,,,Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows(СпособВыбораСертификатаWindows.Авто), Новый СертификатыУдостоверяющихЦентровWindows()));
можно и так
HTTP = Новый HTTPСоединение("www.gnivc.ru",,,,,,Новый ЗащищенноеСоединениеOpenSSL(Неопределено, Неопределено));

iMoxa 15.05.2017 10:50

8.3 у меня.
(7)(9) сэнкс. Дальше сам еще попробую порыть.
Файл получаю как в (4). Пробовал с истиной и без.
(9) Это лишь маленький этап задачи. И если его не получится сделать без участия человека, то суммарная нагрузка на оператора по всем этапам существенно возрастет.

user1C 15.05.2017 10:58

(10)
в (9) рабочий код....

iMoxa 15.05.2017 11:01

(11) Сертификат ГНИИВЦ должен быть загружен ранее?

user1C 15.05.2017 11:05

(12)
нет, проверить за 10 сек не судьба??

iMoxa 15.05.2017 11:10

(13) зер гуд! спасибо! так сработало:
HTTP = Новый HTTPСоединение("www.gnivc.ru",,,,,,Новый ЗащищенноеСоединениеOpenSSL);


Текущее время: 17:11. Часовой пояс GMT +3.