|
Создание post соединения | ☑ | ||
---|---|---|---|---|
0
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); СтрокаОтветаСервера = ТекстовыйФайлОтвета.ПолучитьТекст(); |
|||
1
piter3
10.04.18
✎
14:42
|
адрес https HTTPСоединение без написано.Не?
|
|||
2
LeoKeyn
10.04.18
✎
14:53
|
(1) по инструкции делаю))) тоже напрягло вроде как но)
|
|||
3
piter3
10.04.18
✎
14:54
|
(2) ну что мешает проверить
|
|||
4
Ц_У
10.04.18
✎
14:54
|
(2) параметр то добавь, что защищенное
|
|||
5
LeoKeyn
10.04.18
✎
15:07
|
(4) а можно подробнее пожалуйста)
|
|||
6
LeoKeyn
10.04.18
✎
15:07
|
(3) то же самое
|
|||
7
piter3
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",,,,,Истина);
|
|||
9
piter3
10.04.18
✎
15:12
|
(6) ты покажи,что сделал
|
|||
10
LeoKeyn
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) тьфу..
|
|||
12
LeoKeyn
10.04.18
✎
15:14
|
(11) параметр не верен
|
|||
13
Ц_У
10.04.18
✎
15:16
|
(12) ага, а почему у тебя то хттп то хттпс?
|
|||
14
VS-1976
10.04.18
✎
15:16
|
(11) поставь туда , Новый ЗащищенноеСоединениеOpenSSL()
|
|||
15
LeoKeyn
10.04.18
✎
15:25
|
(14) поставил и тепреь так же вылетает 1с
|
|||
16
LeoKeyn
10.04.18
✎
15:25
|
(13) эксперементирую на авось) вернул хттпс
|
|||
17
VS-1976
10.04.18
✎
15:27
|
(15) 1. Проверить IE запускается ли под тем системным пользователем, под которым пытаешься получить доступ. Если нет начальной инициализации, то установить настройки, можно по умолчанию.
2. Проверить из IE доступ к данному ресурсу, есть или нет. 3. Поставить Fiddler из него проверить ресурс на ответ. |
|||
18
LeoKeyn
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" ), Новый СертификатыУдостоверяющихЦентровОС()); |
|||
19
LeoKeyn
10.04.18
✎
15:28
|
(17) простите совсем новичек в этой теме от слова совсем, сейчас все попробую) спасибо, если что получится или нет еще напишу!)))
|
|||
20
tesseract
10.04.18
✎
17:20
|
(0) ЗаголовокЗапросаHTTP.Вставить("Content-Length", 123456);
Размер от балды что-ли? Я бы то-же обиделся. |
|||
21
Nyoko
10.04.18
✎
17:34
|
Запрос = Новый HTTPЗапрос("/api/2/"+Пара+"/depth");
Соединение = Новый HTTPСоединение("****.net",443,,,,,Новый ЗащищенноеСоединениеOpenSSL()); Запрос.АдресРесурса = "/api/2/"+Пара+"/depth" ; Ответ = Соединение.Получить(Запрос); |
|||
22
Cyberhawk
10.04.18
✎
17:36
|
Сколько платят за решение вопроса?
|
|||
23
LeoKeyn
11.04.18
✎
12:46
|
(22) Ни сколько по основной работе пихнули
|
|||
24
LeoKeyn
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: [email protected], 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: [email protected], 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); по причине: Ошибка работы с Интернет: Удаленный узел не прошел проверку Что я не так то сделал с сертификатом, помогите пожалуйста |
|||
25
Cyberhawk
11.04.18
✎
12:53
|
(23) Ты на окладе что ли?
|
|||
26
LeoKeyn
11.04.18
✎
12:55
|
(25) да
|
|||
27
LeoKeyn
11.04.18
✎
13:14
|
Никто не может с этим помочь?
|
|||
28
VS-1976
11.04.18
✎
13:20
|
(27) Ты разобрался у тебя сервис вообще в IE что-нибудь выдаёт?
И вообще Ресурс = "http://test.rb-ei.com/cpuEnquiry.asp"; По идее должен быть таким Ресурс = "/cpuEnquiry.asp"; |
|||
29
LeoKeyn
11.04.18
✎
13:25
|
(28) через IE и HTTP Link Batch программу все проходит
|
|||
30
LeoKeyn
11.04.18
✎
13:26
|
(28) попробовал изменить ресурс та же ошибка
|
|||
31
LeoKeyn
11.04.18
✎
13:28
|
(29) но там сертификат cer
|
|||
32
VS-1976
11.04.18
✎
13:38
|
(31) Сертификат пробовал в IE подсунуть с сайта, а в 1С просто Новый ЗащищенноеСоединениеOpenSSL()?
|
|||
33
LeoKeyn
11.04.18
✎
13:44
|
(32) попробовал, вроде дело двинулось, но теперь пишет
{Документ.ЗапросВБКИ.Форма.ФормаДокумента.Форма(68)}: Ошибка при вызове метода контекста (Прочитать) ТекстовыйФайлОтвета.Прочитать(ФайлРезультат, КодировкаТекста.UTF8); по причине: Файл не обнаружен 'C:\Users\ITMAN3\AppData\Local\Temp\v8_B916_a.tmp' |
|||
34
LeoKeyn
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); СтрокаОтветаСервера = ТекстовыйФайлОтвета.ПолучитьТекст(); |
|||
35
LeoKeyn
11.04.18
✎
13:48
|
(34) Это значит я ответа никакого не получаю?
|
|||
36
VS-1976
11.04.18
✎
14:05
|
(35) Что даёт этот код? И в объекте оОтветHTTP если что через дебаг можно посмотреть тело ошибки.
оОтветHTTP = HTTP.ОтправитьДляОбработки(HTTPЗапрос, Ресурс, ФайлРезультат, ЗаголовокЗапросаHTTP); Если оОтветHTTP.КодСостояния = 200 Тогда Сообщить( "Ответ получен" ); Иначе Сообщить( "Код ошибки: " + Строка( оОтветHTTP.КодСостояния ) ); КонецЕсли; |
|||
37
Cyberhawk
11.04.18
✎
14:07
|
Платформу огласи. Начиная с (вроде) 8.3.9 она не использует никакой файлик с сертификатами в недрах, а использует только хранилище ОС
|
|||
38
LeoKeyn
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 |
|||
39
LeoKeyn
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"); СтрокаОтветаСервера = ТекстовыйФайлОтвета.ПолучитьТекст(); |
|||
40
LeoKeyn
12.04.18
✎
10:49
|
(39) А точнее ругается на корневой сертификат
|
|||
41
LeoKeyn
12.04.18
✎
10:50
|
(39) пробовал переделать сертификаты в pem вообще не подключается, пишет ошибка интернет
|
|||
42
LeoKeyn
12.04.18
✎
11:25
|
Можно как то посмотреть какие он сертификаты цепляет?
|
|||
43
LeoKeyn
12.04.18
✎
11:25
|
(42) в отладчике не показывается
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |