К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Получить файл через защищенное соединение, используя HTTPСоединение

Uho
0 - 27.10.2011 - 12:14
есть ссылка

https://agents.vladavia.ru/oneNet/Ne...110826.XML.xls

при открытии ее в браузере, появляется окно для ввода логина/пароля, после ввода которых файл успешно скачивается.

пишу:

Попытка
HTTP = Новый HTTPСоединение("https://agents.vladavia.ru",,Логин,Пароль,,Истина);
HTTP.Получить("/oneNet/NetStorage/Home@VLADAIR/Ticket%20Reports/TKT_XF_20110826.XML.xls","C:\temp.xls");
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;

выдается ошибка:
Ошибка при вызове метода контекста (Получить): Ошибка работы с Интернет: Couldn't resolve host name

что я делаю не так?



Uho
1 - 27.10.2011 - 12:45
сделал так:

HTTP = Новый HTTPСоединение("agents.vladavia.ru",,Логин,Пароль, ,Истина);
HTTP.Получить("/oneNet/NetStorage/Home@VLADAIR/Ticket%20Reports/TKT_XF_20110826.XML.xls","C:\temp.xls");

теперь ошибка следующая:

Peer certificate cannot be authenticated with known CA certificates
Uho
2 - 27.10.2011 - 12:48
хм... вот, похоже, решение:
http://infostart.ru:8080/public/79494/
Гость
3 - 27.10.2011 - 12:51
С кодировкой логина/пароля не игрался?
Uho
4 - 27.10.2011 - 13:12
4-VZ > нет, но там действительно с сертификатом проблемы (недействителен)

ЗЫ. решение из (3) не помогло (((
Гость
5 - 27.10.2011 - 13:26
5-Uho > Читаю сабж внимательно: "при открытии ее в браузере, появляется окно для ввода логина/пароля, после ввода которых файл успешно скачивается". Про сертификат - ни слова. Скачивается, собак такой.
Вот и подумал: а чегой-то при установке через 1С пароль/логин не хавается? Сервер же не знает способа подачи этих самых логина/пароля...
Нет?
Uho
6 - 27.10.2011 - 13:45
6-VZ > зы, я забыл, что IE при первом открытии ругнулся на сертификат, но пропустил.
А когда я дошел таки до (2) - вспомнилось и про сертификат
Гость
7 - 27.10.2011 - 13:58
7-Uho > Понял. Значит, не кодировка.
Uho
8 - 27.10.2011 - 14:05
похоже ошибочный сертификат не обойти (((
Гость
9 - 27.10.2011 - 14:28
9-Uho > Рецепт, что в комментарии по ссыле в (3), пробовал?
Uho
10 - 27.10.2011 - 14:41
10-VZ > попробовал, но видимо, все это работает только для действительных сертификатов (что в принципе логично)
Uho
11 - 27.10.2011 - 16:28
а если отказаться от HTTPСоединение, каким способом посоветуете получать программно файлы?
12 - 27.10.2011 - 17:02
XMLHttpRequest
но вот поможет ли? 1це, скорее всего, его и использует...
13 - 27.10.2011 - 17:05
По ссылке в (3)предлагается добавить в файл cacert.pem сертификат сайта. Как добавлял? Недавно с похожей задачкой столкнулся. Только для получения файла *.csv
Uho
14 - 27.10.2011 - 17:13
13-roma n > покопаю в эту сторону
14-МимохожийОднако > именно так, как там написано, поэтому склоняюсь к (11)
15 - 27.10.2011 - 17:51
(15)Я получил сертификат. А вот как вставить в файл. Просто копированием? У меня тоже не получилось. Отпишись, если получится по (13)
Uho
16 - 28.10.2011 - 09:43
16-МимохожийОднако > да, просто копированием

следующая команда команда экспортирует сертификат в текстовый формат PEM:

openssl x509 -inform der -in D:\mycert.cer -out D:\textcert.pem -text -fingerprint -md5

Само собой, Вы должны изменить пути входящего и исходящего файла. Исходящий файл может не существовать. После выполнения команды на экране Вы увидите MD5 Fingerprint. Скопируйте его - с этой строки начинайте добавление своего сертификата в файл cacert.pem
Uho
17 - 28.10.2011 - 09:59
16-МимохожийОднако >
вот так работает, но ругается на сертификат, сволочь (выдает пару предупреждений)

x = Новый ComОбъект("Microsoft.XMLHTTP");
x.Open("GET", "https://agents.vladavia.ru/oneNet/NetStorage/Home@VLADAIR/Ticket%20Reports/TKT_XF_20110826.XML.xls",0,логин,пароль);
x.Send();
s = Новый ComОбъект("ADODB.Stream");
s.Mode = 3;
s.Type = 1;
s.Open();
s.Write(x.responseBody);
s.SaveToFile("C:\temp.xls", 2);
Uho
18 - 28.10.2011 - 12:25
какие еще есть варианты?
Гость
19 - 28.10.2011 - 13:23
установить сертификат
certutil.exe -f -installCert xxx.cer
Uho
20 - 28.10.2011 - 13:28
20-Гинзбург > а откуда его взять?
Гость
21 - 28.10.2011 - 13:30
-----BEGIN CERTIFICATE-----
MIIFKjCCBBKgAwIBAgIiAhwFYuVdQTrvi/CC9qy+UAprLoxDoVDLGfy1fG11AgIB
FjANBgkqhkiG9w0BAQUFADAuMRAwDgYDVQQKEwd2bGFkYWlyMR owGAYDVQQLExFP
cmdhbml6YXRpb25hbCBDQTAeFw0xMDAxMzEyMjE1NDFaFw0xMj AxMzEyMjE1NDFa
MCwxEDAOBgNVBAoTB1ZMQURBSVIxGDAWBgNVBAMTD29lcy52bG FkYXZpYS5ydTCC
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL7/qs+r7ntYcs0vSB9if+Uo
molfFZs1SCT9VeeuirZ0GWnl51XJbpdtXdPC3fLzTp8Pk8xsQ7 PrgjEvqNdmCmBd
Ry4yOnf8c1uWI+qHuOuIK/+LhC9bD0S3CBnrrrAulLAOtaW1Cvg36WkYk+sTIc7F
h+hkfU10OGBpQEXjf/gT0y+PdX+RtZ5komrgmROm519apiS3JrpdpcTB3MQj4v7r
0sZkHNUEggeByvJSnzTuakGjXSEHO+8rH1LBNFO4wJ/8x2YE4IU7Wcc1fBg70KBf
DDF4zfuJyCYM2PbupTxTZR2FlsgGUuVs0i7dfMg3+XIXpY6wAc WwMyyvyE5eeSUC
AwEAAaOCAjIwggIuMB0GA1UdDgQWBBS6JBml4KdJTvLo5cNnX3 MYPXyZcDAfBgNV
HSMEGDAWgBS0lMq+oKYKlfNq9vmjYEuKwQNKmjALBgNVHQ8EBA MCBaAwDwYDVR0R
BAgwBocEwKjg0zCCAcwGC2CGSAGG+DcBCQQBBIIBuzCCAbcEAg EAAQH/Ex1Ob3Zl
bGwgU2VjdXJpdHkgQXR0cmlidXRlKHRtKRZDaHR0cDovL2Rldm Vsb3Blci5ub3Zl
bGwuY29tL3JlcG9zaXRvcnkvYXR0cmlidXRlcy9jZXJ0YXR0cn NfdjEwLmh0bTCC
AUigGgEBADAIMAYCAQECAUYwCDAGAgEBAgEKAgFpoRoBAQAwCD AGAgEBAgFGMAgw
BgIBAQIBCgIBaaIGAgEXAQH/o4IBBKBYAgECAgIA/wIBAAMNAIAAAAAAAAAAAAAA
AAMJAIAAAAAAAAAAMBgwEAIBAAIIf/////////8BAQACBAbw30gwGDAQAgEAAgh/
/////////wEBAAIEBvDfSKFYAgECAgIA/wIBAAMNAEAAAAAAAAAAAAAAAAMJAEAA
AAAAAAAAMBgwEAIBAAIIf/////////8BAQACBAVi5V0wGDAQAgEAAgh/////////
/wEBAAIEBWLlXaJOMEwCAQICAQACAgD/Aw0AgAAAAAAAAAAAAAAAAwkAgAAAAAAA
AAAwEjAQAgEAAgh//////////wEBADASMBACAQACCH//////////AQEAMA0GCSqG
SIb3DQEBBQUAA4IBAQB3gv1IQv4l4sPHckSBfLZJFnbbZsf4EM zp/TqgC3vKuAZj
jczSXEzzSWyOVmQWYRuj94tEPEOeb1OvIRI10oRr2+Q4DZGAEd 7e+DI4xvJ9qElU
ANVGQO1S06UmLk+bUfsMCOQYrfULWLDRwxzFkCvFTQg/fSSoNgOTIsEsBbnjJGF+
10xiLthgu9litMC926abR++9VKMAI4tEyzuhOUuddEBG0cUGgD 4Y7a/JSpCApssX
qPtpaa4n53QsyyUORZzNVpv8y4Sdcdubi8qtJ/lqUdMBIWSQGwrwhcuWFwt3z0lb
FC4lbFvYpzebC+/ZfCYCzOMSQiBr9t6n5sO/YWxj
-----END CERTIFICATE-----
Гость
22 - 28.10.2011 - 13:33
убить пробелы между -----
Uho
23 - 28.10.2011 - 13:34
22-Гинзбург > так и что? установил, он от этого действительным то не стал? ИЕ все равно ругается ((
Гость
24 - 28.10.2011 - 13:35
он действителен
Uho
25 - 28.10.2011 - 14:14
т.е. эта утилита работает не как стандартный установщик сертификатов?
Uho
26 - 28.10.2011 - 14:27
+26 нашел, скачал, что-то она у меня не хочет работать -
пишет "не удается найти указанный файл" (путь к файлу указываю)
Гость
27 - 28.10.2011 - 22:00
"не удается найти указанный файл" - отнесись серьезно. Это не браузер сообщает. И не утилита проверки или установки сертификата. Это винда. Та ее часть, что для всех утил ищет файл.
Uho
28 - 01.11.2011 - 17:43
28-VZ > не, ну как еще?

Гость
29 - 01.11.2011 - 20:55
Чтож не попробовать очевидное:
certutil.exe -f -installCert C:\Temp\mysert.cer
?
Гость
30 - 01.11.2011 - 21:03
+30 И использовать папку Temp как-то стрёмно для "черного ящика" - а ну как он использует эту папку в своих служебных целях?...
Другое дело, сам скрипт пишешь, или алгоритм известен (так "восьмерка", например, использует временный каталог, для разворота и открытия внешних обработок из хранилища)
Uho
31 - 02.11.2011 - 09:25
30-VZ > такая же фигня
31-VZ > пробовал в корень С: положить
Гость
32 - 13.05.2012 - 23:25
Получилось решить проблему?
Uho
33 - 15.05.2012 - 09:37
32-DeMi4 > задача отпала)))


К списку вопросов
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск




Copyright ©, Все права защищены