Вход | Регистрация



Создание post соединения

Создание post соединения
Я
   LeoKeyn
 
10.04.18 - 14:38
Всем привет. Подскажите, пожалуйста! Создаю post соединение, все 
вроде бы указываю верно. Он запускается висит некоторое время на
строке ОтправитьДляОбработки после чего 1с вылетает.

Сервер = "test.rb-ei.com";
    Ресурс = "https://test.rb-ei.com/cpuEnquiry.asp";;
    HTTP =  Новый HTTPСоединение(Сервер);
    // Запишем в файл содержимое тела запроса (текст)  
    // Получим размер данных для передачи в заголовок
    ФайлНаОтправку = Новый ТекстовыйДокумент;
    ФайлНаОтправку.Прочитать(ФайлНаОтправкуТело);
    HTTPЗапрос = Новый HTTPЗапрос(Ресурс);
    HTTPЗапрос.УстановитьИмяФайлаТела(ФайлНаОтправкуТело);
    // Получим временный файл — тело ответа POST запроса
    ФайлРезультат = ПолучитьИмяВременногоФайла();
    // Заголовок создадим в виде соответствия
    ЗаголовокЗапросаHTTP = Новый Соответствие();
    // Передаем в заголовках размер и тип данных на отправку
    ЗаголовокЗапросаHTTP.Вставить("Content-Length", 123456);
    ЗаголовокЗапросаHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded; Chsrset=windows-1251");
    ЗаголовокЗапросаHTTP.Вставить("Connection", "Close");
    // Отсылаем POST запрос на обработку.
    // СсылкаНаРесурс — ссылка на веб-сервер (страницу), к которой посылается POST запрос
    HTTP.ОтправитьДляОбработки(HTTPЗапрос, Ресурс, ФайлРезультат, ЗаголовокЗапросаHTTP);
    // Получим ответ
    ТекстовыйФайлОтвета = Новый ТекстовыйДокумент;
    ТекстовыйФайлОтвета.Прочитать(ФайлРезультат, КодировкаТекста.UTF8);
    СтрокаОтветаСервера = ТекстовыйФайлОтвета.ПолучитьТекст();
 
 
   piter3
 
1 - 10.04.18 - 14:42
адрес https HTTPСоединение без написано.Не?
   LeoKeyn
 
2 - 10.04.18 - 14:53
(1) по инструкции делаю))) тоже напрягло вроде как но)
   piter3
 
3 - 10.04.18 - 14:54
(2) ну что мешает проверить
   Ц_У
 
4 - 10.04.18 - 14:54
(2) параметр то добавь, что защищенное
   LeoKeyn
 
5 - 10.04.18 - 15:07
(4) а можно подробнее пожалуйста)
   LeoKeyn
 
6 - 10.04.18 - 15:07
(3) то же самое
   piter3
 
7 - 10.04.18 - 15:07
(5) HTTPСоединение.ЗащищенноеСоединение (HTTPConnection.SecureConnection)
HTTPСоединение (HTTPConnection)
ЗащищенноеСоединение (SecureConnection)
Использование:

Только чтение.
Описание:

Тип: ЗащищенноеСоединениеOpenSSL; Неопределено.
Содержит объект защищенного соединения для осуществления HTTPS-соединения, если указан.

Доступность:

Тонкий клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
См. также:

ЗащищенноеСоединениеOpenSSL
ЗащищенноеСоединениеNSS.
   Ц_У
 
8 - 10.04.18 - 15:11
Новый HTTPСоединение("http://www.ru";,,,,,Истина);
   piter3
 
9 - 10.04.18 - 15:12
(6) ты покажи,что сделал
   LeoKeyn
 
10 - 10.04.18 - 15:14
(9) (8) 

Сервер = "test.rb-ei.com";
    Ресурс = "http://test.rb-ei.com/cpuEnquiry.asp";;
    HTTP =  Новый HTTPСоединение(Сервер,,,,,,Истина);
    // Запишем в файл содержимое тела запроса (текст)  
    // Получим размер данных для передачи в заголовок
    ФайлНаОтправку = Новый ТекстовыйДокумент;
    ФайлНаОтправку.Прочитать(ФайлНаОтправкуТело);
    HTTPЗапрос = Новый HTTPЗапрос(Ресурс);
    HTTPЗапрос.УстановитьИмяФайлаТела(ФайлНаОтправкуТело);
    // Получим временный файл — тело ответа POST запроса
    ФайлРезультат = ПолучитьИмяВременногоФайла();
    // Заголовок создадим в виде соответствия
    ЗаголовокЗапросаHTTP = Новый Соответствие();
    // Передаем в заголовках размер и тип данных на отправку
    ЗаголовокЗапросаHTTP.Вставить("Content-Length", 123456);
    ЗаголовокЗапросаHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded; Chsrset=windows-1251");
    ЗаголовокЗапросаHTTP.Вставить("Connection", "Close");
    // Отсылаем POST запрос на обработку.
    // СсылкаНаРесурс — ссылка на веб-сервер (страницу), к которой посылается POST запрос
    HTTP.ОтправитьДляОбработки(HTTPЗапрос, Ресурс, ФайлРезультат, ЗаголовокЗапросаHTTP);
    // Получим ответ
    ТекстовыйФайлОтвета = Новый ТекстовыйДокумент;
    ТекстовыйФайлОтвета.Прочитать(ФайлРезультат, КодировкаТекста.UTF8);
    СтрокаОтветаСервера = ТекстовыйФайлОтвета.ПолучитьТекст();
 
 Рекламное место пустует
   Ц_У
 
11 - 10.04.18 - 15:14
(8) тьфу..
   LeoKeyn
 
12 - 10.04.18 - 15:14
(11) параметр не верен
   Ц_У
 
13 - 10.04.18 - 15:16
(12) ага, а почему у тебя то хттп то хттпс?
   VS-1976
 
14 - 10.04.18 - 15:16
(11) поставь туда , Новый ЗащищенноеСоединениеOpenSSL()
   LeoKeyn
 
15 - 10.04.18 - 15:25
(14) поставил и тепреь так же вылетает 1с
   LeoKeyn
 
16 - 10.04.18 - 15:25
(13) эксперементирую на авось) вернул хттпс
   VS-1976
 
17 - 10.04.18 - 15:27
(15) 1. Проверить IE запускается ли под тем системным пользователем, под которым пытаешься получить доступ. Если нет начальной инициализации, то установить настройки, можно по умолчанию.
2. Проверить из IE доступ к данному ресурсу, есть или нет.
3. Поставить Fiddler из него проверить ресурс на ответ.
   LeoKeyn
 
18 - 10.04.18 - 15:27
Мне тут похоже сертификаты нужно вписать в 


ЗащищенноеСоединениеOpenSSL (OpenSSLSecureConnection)
Свойства:

СертификатКлиента (ClientCertificate)
СертификатыУдостоверяющихЦентров (CertificationAuthorityCertificates)

Конструкторы:

По объектам используемых сертификатов

Описание:

Объект защищенного соединения OpenSSL.
Используемый клиентский сертификат должен быть самоподписанным или проходить валидацию через сертификаты удостоверяющих центров, заданные в свойстве СертификатыУдостоверяющихЦентров.

Доступность:

Тонкий клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Пример:

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

ssl2 = Новый ЗащищенноеСоединениеOpenSSL(
            Новый СертификатКлиентаWindows(),
            Новый СертификатыУдостоверяющихЦентровФайл("C:/certs/myca.pem"));

ssl3 = Новый ЗащищенноеСоединениеOpenSSL(
            Новый СертификатКлиентаФайл("C:/certs/user.p12", "password" ),
            Новый СертификатыУдостоверяющихЦентровФайл("C:/certs/myca.pem"));

ssl4 = Новый ЗащищенноеСоединениеOpenSSL( неопределено, неопределено );

ssl5 = Новый ЗащищенноеСоединениеOpenSSL(
            Новый СертификатКлиентаФайл("C:/certs/user.p13", "password" ),
            Новый СертификатыУдостоверяющихЦентровОС());
   LeoKeyn
 
19 - 10.04.18 - 15:28
(17) простите совсем новичек в этой теме от слова совсем, сейчас все попробую) спасибо, если что получится или нет еще напишу!)))
   tesseract
 
20 - 10.04.18 - 17:20
(0) ЗаголовокЗапросаHTTP.Вставить("Content-Length", 123456);  

Размер от балды что-ли? Я бы то-же обиделся.
   Nyoko
 
21 - 10.04.18 - 17:34
Запрос = Новый HTTPЗапрос("/api/2/"+Пара+"/depth");
    
    Соединение = Новый HTTPСоединение("****.net",443,,,,,Новый ЗащищенноеСоединениеOpenSSL());

    
    Запрос.АдресРесурса = "/api/2/"+Пара+"/depth" ;
    
    Ответ = Соединение.Получить(Запрос);
   Cyberhawk
 
22 - 10.04.18 - 17:36
Сколько платят за решение вопроса?
   LeoKeyn
 
23 - 11.04.18 - 12:46
(22) Ни сколько по основной работе пихнули
   LeoKeyn
 
24 - 11.04.18 - 12:47
СохранитьНаСервере();

    ФайлНаОтправкуТело = "D:\Запрос шифр.txt";

    Сервер = "test.rb-ei.com";
    Ресурс = "https://test.rb-ei.com/cpuEnquiry.asp";;
    СоединениеЗащита = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows(),
            Новый СертификатыУдостоверяющихЦентровФайл("d:\textcert.pem"));
    HTTP =  Новый HTTPСоединение(Сервер,,,,,,СоединениеЗащита);
    // Запишем в файл содержимое тела запроса (текст)  
    // Получим размер данных для передачи в заголовок
    ФайлНаОтправку = Новый ТекстовыйДокумент;
    ФайлНаОтправку.Прочитать(ФайлНаОтправкуТело);
    HTTPЗапрос = Новый HTTPЗапрос(Ресурс);
    HTTPЗапрос.УстановитьИмяФайлаТела(ФайлНаОтправкуТело);
    // Получим временный файл — тело ответа POST запроса
    ФайлРезультат = ПолучитьИмяВременногоФайла();
    // Заголовок создадим в виде соответствия
    ЗаголовокЗапросаHTTP = Новый Соответствие();
    // Передаем в заголовках размер и тип данных на отправку
    ЗаголовокЗапросаHTTP.Вставить("Content-Length", 123456);
    ЗаголовокЗапросаHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded; Chsrset=windows-1251");
    ЗаголовокЗапросаHTTP.Вставить("Connection", "Close");
    // Отсылаем POST запрос на обработку.
    // СсылкаНаРесурс — ссылка на веб-сервер (страницу), к которой посылается POST запрос
    HTTP.ОтправитьДляОбработки(HTTPЗапрос, Ресурс, ФайлРезультат, ЗаголовокЗапросаHTTP);
    // Получим ответ
    ТекстовыйФайлОтвета = Новый ТекстовыйДокумент;
    ТекстовыйФайлОтвета.Прочитать(ФайлРезультат, КодировкаТекста.UTF8);
    СтрокаОтветаСервера = ТекстовыйФайлОтвета.ПолучитьТекст();



Файл сертификата сделал по инструкции http://catalog.mista.ru/public/79494/
Получилось:

POST/cpuEnquiry.asp HTTP/1.1
=============================

MD5 Fingerprint=41:40:BB:C9:DB:6B:56:D2:90:71:17:5F:B7:D4:75:D5
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            57:9a:5f:99:00:0e:00:01:db:47
    Signature Algorithm: GOST R 34.11-94 with GOST R 34.10-2001
        Issuer: emailAddress=cpca@cryptopro.ru, C=RU, L=\x04\x1C\x04>\x04A\x04:\
x042\x040, O=\x04\x1E\x04\x1E\x04\x1E\x00 \x04\x1A\x04 \x04\x18\x04\x1F\x04"\x04
\x1E\x00-\x04\x1F\x04 \x04\x1E, CN=\x04#\x04&\x00 \x00K\x00P\x04\x18\x04\x1F\x00

T\x00O\x00-\x04\x1F\x00P\x00O
        Validity
            Not Before: Apr 10 12:54:00 2017 GMT
            Not After : Apr 10 13:04:00 2022 GMT
        Subject: emailAddress=cs@bki-okb.ru, C=RU, L=\x04\x1C\x04>\x04A\x04:\x04
2\x040, O=\x04\x17\x04\x10\x04\x1E\x00 \x04\x1E\x04\x1A\x04\x11, CN=\x04"\x045\x
04A\x04B\x04>\x042\x04K\x049\x00 \x04?\x04>\x04;\x04L\x047\x04>\x042\x040\x04B\x
045\x04;\x04L\x00 \x002\x000\x001\x007/title=\x04"\x045\x04A\x04B\x04>\x042\x04K
\x049\x00 \x04?\x04>\x04;\x04L\x047\x04>\x042\x040\x04B\x045\x04;\x04L
        Subject Public Key Info:
            Public Key Algorithm: GOST R 34.10-2001
            Unable to load Public Key
5924:error:0609E09C:digital envelope routines:PKEY_SET_TYPE:unsupported algorith
m:.\crypto\evp\p_lib.c:239:
5924:error:0B07706F:x509 certificate routines:X509_PUBKEY_get:unsupported algori
thm:.\crypto\asn1\x_pubkey.c:148:
        X509v3 extensions:
            X509v3 Key Usage: critical
                Digital Signature, Non Repudiation, Key Encipherment, Data Encip
herment
            X509v3 Extended Key Usage:
                E-mail Protection, 1.2.643.2.2.34.6, TLS Web Client Authenticati
on
            X509v3 Subject Key Identifier:
                8F:C1:C6:82:F6:5F:78:E6:86:16:1D:F1:59:D7:5A:46:4C:0A:A8:80
            X509v3 Authority Key Identifier:
                keyid:2F:8D:57:CC:87:83:49:B0:81:9A:7A:FD:46:AC:1F:27:04:A9:25:5
8

            X509v3 CRL Distribution Points:

                Full Name:
                  URI:http://cdp.cryptopro.ru/ra/cdp/2f8d57cc878349b0819a7afd46a
c1f2704a92558.crl

                Full Name:
                  URI:http://cpca.cryptopro.ru/ra/cdp/2f8d57cc878349b0819a7afd46
ac1f2704a92558.crl

                Full Name:
                  URI:http://cpca2.cryptopro.ru/ra/cdp/2f8d57cc878349b0819a7afd4
6ac1f2704a92558.crl

            Authority Information Access:
                OCSP - URI:http://ocsp.cryptopro.ru/ocsp/ocsp.srf
                OCSP - URI:http://ocsp2.cryptopro.ru/ocsp/ocsp.srf
                CA Issuers - URI:http://cpca.cryptopro.ru/cacer.p7b

            X509v3 Private Key Usage Period:
                Not Before: Apr 10 12:54:00 2017 GMT, Not After: Apr 10 12:54:00
2018 GMT
    Signature Algorithm: GOST R 34.11-94 with GOST R 34.10-2001
         17:85:70:f2:14:d0:f0:79:35:62:41:03:2e:bc:91:90:75:eb:
         e0:db:91:13:8d:e9:1b:dc:9c:66:79:5b:18:d9:17:86:2f:fd:
         62:8d:4a:2e:67:11:a1:89:14:77:de:6f:80:bc:f3:09:8d:58:
         57:4d:d5:8a:73:91:a3:e1:08:19
-----BEGIN CERTIFICATE-----

MIIEvDCCBGugAwIBAgIKV5pfmQAOAAHbRzAIBgYqhQMCAgMwgZIxIDAeB
gkqhkiG
9w0BCQEWEWNwY2FAY3J5cHRvcHJvLnJ1MQswCQYDVQQGEwJSVTEVMBMGA1UEBx4M
BBwEPgRBBDoEMg
QwMSUwIwYDVQQKHhwEHgQeBB4AIAQaBCAEGAQfBCIEHgAtBB8E
IAQeMSMwIQYDVQQDHhoEIwQmACAASwBQBBg
EHwBUAE8ALQQfAFAATzAeFw0xNzA0
MTAxMjU0MDBaFw0yMjA0MTAxMzA0MDBaMIHPMRwwGgYJKoZIhvcNAQkBF
g1jc0Bi
a2ktb2tiLnJ1MQswCQYDVQQGEwJSVTEVMBMGA1UEBx4MBBwEPgRBBDoEMgQwMRcw
FQYDVQQKHg4EFwQ
QBB4AIAQeBBoEETE9MDsGA1UEAx40BCIENQRBBEIEPgQyBEsE
OQAgBD8EPgQ7BEwENwQ+BDIEMARCBDUEOwRMA
CAAMgAwADEANzEzMDEGA1UEDB4q
BCIENQRBBEIEPgQyBEsEOQAgBD8EPgQ7BEwENwQ+BDIEMARCBDUEOwRMMGM
wHAYG
KoUDAgITMBIGByqFAwICJAAGByqFAwICHgEDQwAEQIQwKpVpyYtYCl/eOKiDC+56
u58VI598eieaJk1F7
/cqTlHCPOEm8ORJlOEs5TbeVHB2oxytA1LzlO7sjMCUiSWj
ggJgMIICXDAOBgNVHQ8BAf8EBAMCBPAwJgYDVR0l
BB8wHQYIKwYBBQUHAwQGByqF
AwICIgYGCCsGAQUFBwMCMB0GA1UdDgQWBBSPwcaC9l945oYWHfFZ11pGTAqogDA
f
BgNVHSMEGDAWgBQvjVfMh4NJsIGaev1GrB8nBKklWDCCAQcGA1UdHwSB/zCB/DBR
oE+gTYZLaHR0cDovL2NkcC
5jcnlwdG9wcm8ucnUvcmEvY2RwLzJmOGQ1N2NjODc4
MzQ5YjA4MTlhN2FmZDQ2YWMxZjI3MDRhOTI1NTguY3JsM
FKgUKBOhkxodHRwOi8v
Y3BjYS5jcnlwdG9wcm8ucnUvcmEvY2RwLzJmOGQ1N2NjODc4MzQ5YjA4MTlhN2Fm
ZDQ2
YWMxZjI3MDRhOTI1NTguY3JsMFOgUaBPhk1odHRwOi8vY3BjYTIuY3J5cHRv
cHJvLnJ1L3JhL2NkcC8yZjhkNTd
jYzg3ODM0OWIwODE5YTdhZmQ0NmFjMWYyNzA0
YTkyNTU4LmNybDCBqQYIKwYBBQUHAQEEgZwwgZkwMgYIKwYBBQ
UHMAGGJmh0dHA6
Ly9vY3NwLmNyeXB0b3Byby5ydS9vY3NwL29jc3Auc3JmMDMGCCsGAQUFBzABhido
dHRwOi8vb
2NzcDIuY3J5cHRvcHJvLnJ1L29jc3Avb2NzcC5zcmYwLgYIKwYBBQUH
MAKGImh0dHA6Ly9jcGNhLmNyeXB0b3By
by5ydS9jYWNlci5wN2IwKwYDVR0QBCQw
IoAPMjAxNzA0MTAxMjU0MDBagQ8yMDE4MDQxMDEyNTQwMFowCAYGKoU
DAgIDA0EA
F4Vw8hTQ8Hk1YkEDLryRkHXr4NuRE43pG9ycZnlbGNkXhi/9Yo1KLmcRoYkUd95v
gLzzCY1YV03
VinORo+EIGQ==

-----END CERTIFICATE-----


Получаю ошибку 

{Документ.ЗапросВБКИ.Форма.ФормаДокумента.Форма(66)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки)
    HTTP.ОтправитьДляОбработки(HTTPЗапрос, Ресурс, ФайлРезультат, ЗаголовокЗапросаHTTP); 
по причине:
Ошибка работы с Интернет:   Удаленный узел не прошел проверку


Что я не так то сделал с сертификатом, помогите пожалуйста
   Cyberhawk
 
25 - 11.04.18 - 12:53
(23) Ты на окладе что ли?
   LeoKeyn
 
26 - 11.04.18 - 12:55
(25) да
   LeoKeyn
 
27 - 11.04.18 - 13:14
Никто не может с этим помочь?
   VS-1976
 
28 - 11.04.18 - 13:20
(27) Ты разобрался у тебя сервис вообще в IE что-нибудь выдаёт?
И вообще Ресурс = "http://test.rb-ei.com/cpuEnquiry.asp";;
По идее должен быть таким
Ресурс = "/cpuEnquiry.asp";
   LeoKeyn
 
29 - 11.04.18 - 13:25
(28) через IE и HTTP Link Batch программу все проходит
   LeoKeyn
 
30 - 11.04.18 - 13:26
(28) попробовал изменить ресурс та же ошибка
   LeoKeyn
 
31 - 11.04.18 - 13:28
(29) но там сертификат cer
   VS-1976
 
32 - 11.04.18 - 13:38
(31) Сертификат пробовал в IE подсунуть с сайта, а в 1С просто Новый ЗащищенноеСоединениеOpenSSL()?
   LeoKeyn
 
33 - 11.04.18 - 13:44
(32) попробовал, вроде дело двинулось, но теперь пишет

{Документ.ЗапросВБКИ.Форма.ФормаДокумента.Форма(68)}: Ошибка при вызове метода контекста (Прочитать)
    ТекстовыйФайлОтвета.Прочитать(ФайлРезультат, КодировкаТекста.UTF8); 
по причине:
Файл не обнаружен 'C:\Users\ITMAN3\AppData\Local\Temp\v8_B916_a.tmp'
 
 
   LeoKeyn
 
34 - 11.04.18 - 13:45
(32) СохранитьНаСервере();
    ФайлНаОтправкуТело = "D:\Запрос шифр.txt";
 
    Сервер = "test.rb-ei.com";
    Ресурс = "/cpuEnquiry.asp";
    СоединениеЗащита = Новый ЗащищенноеСоединениеOpenSSL();
    HTTP =  Новый HTTPСоединение(Сервер,,,,,,СоединениеЗащита); 
    // Запишем в файл содержимое тела запроса (текст)  

    // Получим размер данных для передачи в заголовок 

    ФайлНаОтправку = Новый ТекстовыйДокумент;
    ФайлНаОтправку.Прочитать(ФайлНаОтправкуТело);
    HTTPЗапрос = Новый HTTPЗапрос(Ресурс);
    HTTPЗапрос.УстановитьИмяФайлаТела(ФайлНаОтправкуТело);
    // Получим временный файл — тело ответа POST запроса 

    ФайлРезультат = ПолучитьИмяВременногоФайла(); 
    // Заголовок создадим в виде соответствия 

    ЗаголовокЗапросаHTTP = Новый Соответствие(); 
    // Передаем в заголовках размер и тип данных на отправку 

    ЗаголовокЗапросаHTTP.Вставить("Content-Length", 123456); 
    ЗаголовокЗапросаHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded; Chsrset=windows-1251");
    ЗаголовокЗапросаHTTP.Вставить("Connection", "Close");
    // Отсылаем POST запрос на обработку. 

    // СсылкаНаРесурс — ссылка на веб-сервер (страницу), к которой посылается POST запрос 

    HTTP.ОтправитьДляОбработки(HTTPЗапрос, Ресурс, ФайлРезультат, ЗаголовокЗапросаHTTP); 
    // Получим ответ 

    ТекстовыйФайлОтвета = Новый ТекстовыйДокумент; 
    ТекстовыйФайлОтвета.Прочитать(ФайлРезультат, КодировкаТекста.UTF8); 
    СтрокаОтветаСервера = ТекстовыйФайлОтвета.ПолучитьТекст();
   LeoKeyn
 
35 - 11.04.18 - 13:48
(34) Это значит я ответа никакого не получаю?
   VS-1976
 
36 - 11.04.18 - 14:05
(35) Что даёт этот код? И в объекте оОтветHTTP если что через дебаг можно посмотреть тело ошибки.

оОтветHTTP    = HTTP.ОтправитьДляОбработки(HTTPЗапрос, Ресурс, ФайлРезультат, ЗаголовокЗапросаHTTP);

Если оОтветHTTP.КодСостояния = 200 Тогда

  Сообщить( "Ответ получен" );

Иначе

  Сообщить( "Код ошибки: " + Строка( оОтветHTTP.КодСостояния ) );

КонецЕсли;
   Cyberhawk
 
37 - 11.04.18 - 14:07
Платформу огласи. Начиная с (вроде) 8.3.9 она не использует никакой файлик с сертификатами в недрах, а использует только хранилище ОС
   LeoKeyn
 
38 - 11.04.18 - 14:32
(37) Я понял это слишком поздно))))
Все получилось Спасибо большое  VS-1976 очень сильно помог

ФайлНаОтправкуТело = "D:\Запрос шифр.txt";
 
    Сервер = "test.rb-ei.com";
    Ресурс = "/cpuEnquiry.asp";
    СоединениеЗащита = Новый ЗащищенноеСоединениеOpenSSL();
    HTTP =  Новый HTTPСоединение(Сервер,,,,,,СоединениеЗащита); 
    // Запишем в файл содержимое тела запроса (текст)  

    // Получим размер данных для передачи в заголовок 

    ФайлНаОтправку = Новый Файл(ФайлНаОтправкуТело);
    HTTPЗапрос = Новый HTTPЗапрос(Ресурс);
    HTTPЗапрос.УстановитьИмяФайлаТела(ФайлНаОтправкуТело);
    // Получим временный файл — тело ответа POST запроса 

    ФайлРезультат = ПолучитьИмяВременногоФайла();
    РазмерФайлаНаОтправку = XMLСтрока(ФайлНаОтправку.Размер());
    // Заголовок создадим в виде соответствия 

    ЗаголовокЗапросаHTTP = Новый Соответствие(); 
    // Передаем в заголовках размер и тип данных на отправку 

    ЗаголовокЗапросаHTTP.Вставить("Content-Length", РазмерФайлаНаОтправку); 
    ЗаголовокЗапросаHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded; Chsrset=windows-1251");
    ЗаголовокЗапросаHTTP.Вставить("Connection", "Close");
    HTTPЗапрос.Заголовки = ЗаголовокЗапросаHTTP;
    // Отсылаем POST запрос на обработку. 

    // СсылкаНаРесурс — ссылка на веб-сервер (страницу), к которой посылается POST запрос 

    HTTP.ОтправитьДляОбработки(HTTPЗапрос, ФайлРезультат);    
    // Получим ответ 

    ТекстовыйФайлОтвета = Новый ТекстовыйДокумент; 
    ТекстовыйФайлОтвета.Прочитать(ФайлРезультат, КодировкаТекста.UTF8); 
    СтрокаОтветаСервера = ТекстовыйФайлОтвета.ПолучитьТекст(); 


конечный код сертификат в браузеле EI
   LeoKeyn
 
39 - 12.04.18 - 10:10
(37) И все таки продолжая тему:-) отправить запрос у меня
 получилось, но как мне кажется у меня не берутся 
серитфикаты из системы и возвращается ошибка с сервера о 
том, что сертификация не прошла. Сертификаты рабочие 
точно(использовал для запроса в link batch). установил их в
систему двойным нажатием и тд. привожу код:
ФайлНаОтправкуТело = "D:\Запрос шифр.txt";
 
    Сервер = "test.rb-ei.com";
    Ресурс = "/cpuEnquiry.asp";
    СертификатКлиента = Новый СертификатКлиентаWindows(СпособВыбораСертификатаWindows.Выбирать);
    СертификатУЦ = Новый СертификатыУдостоверяющихЦентровОС();
    
    СоединениеЗащита = Новый ЗащищенноеСоединениеOpenSSL(СертификатКлиента, СертификатУЦ);
    HTTP =  Новый HTTPСоединение(Сервер,,,,,,СоединениеЗащита); 
    // Запишем в файл содержимое тела запроса (текст)  

    // Получим размер данных для передачи в заголовок 

    ФайлНаОтправку = Новый Файл(ФайлНаОтправкуТело);
    HTTPЗапрос = Новый HTTPЗапрос(Ресурс);
    HTTPЗапрос.УстановитьИмяФайлаТела(ФайлНаОтправкуТело);
    // Получим временный файл — тело ответа POST запроса 

    ФайлРезультат = ПолучитьИмяВременногоФайла();
    РазмерФайлаНаОтправку = XMLСтрока(ФайлНаОтправку.Размер());
    // Заголовок создадим в виде соответствия 

    ЗаголовокЗапросаHTTP = Новый Соответствие(); 
    // Передаем в заголовках размер и тип данных на отправку 

    ЗаголовокЗапросаHTTP.Вставить("Content-Length", РазмерФайлаНаОтправку); 
    ЗаголовокЗапросаHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded; Chsrset=windows-1251");
    ЗаголовокЗапросаHTTP.Вставить("Connection", "Close");
    HTTPЗапрос.Заголовки = ЗаголовокЗапросаHTTP;
    // Отсылаем POST запрос на обработку. 

    // СсылкаНаРесурс — ссылка на веб-сервер (страницу), к которой посылается POST запрос 

    HTTP.ОтправитьДляОбработки(HTTPЗапрос, ФайлРезультат);    
    // Получим ответ 

    ТекстовыйФайлОтвета = Новый ТекстовыйДокумент; 
    ТекстовыйФайлОтвета.Прочитать(ФайлРезультат, КодировкаТекста.ANSI);
    ТекстовыйФайлОтвета.Записать("d:\123456.txt");
    СтрокаОтветаСервера = ТекстовыйФайлОтвета.ПолучитьТекст();
   LeoKeyn
 
40 - 12.04.18 - 10:49
(39) А точнее ругается на корневой сертификат
   LeoKeyn
 
41 - 12.04.18 - 10:50
(39) пробовал переделать сертификаты в pem вообще не подключается, пишет ошибка интернет
   LeoKeyn
 
42 - 12.04.18 - 11:25
Можно как то посмотреть какие он сертификаты цепляет?
   LeoKeyn
 
43 - 12.04.18 - 11:25
(42) в отладчике не показывается


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует