Имя: Пароль:
1C
1С v8
Что значит "http-запросы с авторизацией методом Basic Authentication"
,
0 ilou
 
07.02.17
17:03
API необходимо использовать http-запросы с авторизацией методом Basic Authentication

Люди, подскажите, что это значит? Может пример кто напишет?
1 Лефмихалыч
 
07.02.17
17:05
вот пример
http://php.net/manual/ru/features.http-auth.php

помогло?
2 ilou
 
07.02.17
17:09
(1) я не совсем понял куда логин пароль писать?

ФайлТХТ = ПолучитьИмяВременногоФайла("txt");
URL = "/BenzindexAPI/api/Transactions?FromDate=2016-01-01&ToDate=2016-02-01";
ЗаголовокGET = Новый Соответствие();
ЗаголовокGET.Вставить("Accept", "application/json");
    
HTTPСоединение = Новый HTTPСоединение("benzindex.ru");
HTTPЗапрос     = Новый HTTPЗапрос(URL, ЗаголовокGET);
HTTPОтвет      = HTTPСоединение.Получить(HTTPЗапрос, ФайлТХТ);
3 Вафель
 
07.02.17
17:10
login:[email protected]/la-la-la
4 ilou
 
07.02.17
17:11
(3) это в заголовок или URL?
5 Лефмихалыч
 
07.02.17
17:14
+(3) либо его браузер запросит, если так не сделать
6 Лефмихалыч
 
07.02.17
17:14
а хотя - какой в пень браузер?.. чой-та я?..
7 ilou
 
07.02.17
17:18
Так все таки как аутентификацию пройти, чет я потерялся совсем?
8 Лефмихалыч
 
07.02.17
17:19
(7) пробовал (3)?
9 Вафель
 
07.02.17
17:20
Новый HTTPСоединение(<Сервер>, <Порт>, <Пользователь>, <Пароль>, <Прокси>, <Таймаут>, <ЗащищенноеСоединение>, <ИспользоватьАутентификациюОС>)
10 ilou
 
07.02.17
17:21
(8) куда это вставлять, чет я не понял, скажем у меня:
логин = [email protected]
пароль = ilosdj

куда эти данные вставлять в URL или заголовок?
11 ilou
 
07.02.17
17:32
Чет все равно не работает и все ж может эта  Basic Authentication  что-то другое?
12 eks1985
 
07.02.17
17:42
(11) Смотри (9), параметры Пользователь и Пароль объекта HTTPСоединение
13 ilou
 
07.02.17
17:49
это я уже попробовал, чет фигню выдает какую-то

ФайлXML = ПолучитьИмяВременногоФайла("XML");
Логин = "a";
Пароль = "M";

URL = "/BenzindexAPI/api/Transactions?FromDate=2016-01-01&ToDate=2016-02-01";
    
ЗаголовокGET = Новый Соответствие();
ЗаголовокGET.Вставить("Accept", "application/json");
    
HTTPСоединение = Новый HTTPСоединение("benzindex.ru",,Логин,Пароль);
HTTPЗапрос     = Новый HTTPЗапрос(URL, ЗаголовокGET);
HTTPОтвет      = HTTPСоединение.Получить(URL, ФайлXML);

хотя в браузере если вбивать логин пароль, то все как положено, что может быть не так?
14 Вафель
 
07.02.17
17:52
какая ошибка?
15 ilou
 
07.02.17
17:56
(14) не ошибка, а левые данные, вместо того, что в браузере

"<head><title>Документ перемещен</title></head>
<body><h1>Объект перемещен</h1>Документ теперь находится <a HREF="https://benzindex.ru/RedirectToHTTPS.html">здесь</a></body>";
16 ilou
 
07.02.17
17:57
вот
<head><title>Документ перемещен</title></head>
<body><h1>Объект перемещен</h1>Документ теперь находится <a HREF="https://benzindex.ru/RedirectToHTTPS.html">здесь</a></body>;
17 Вафель
 
07.02.17
17:59
так тебе предлагает по https подключаться
18 Вафель
 
07.02.17
17:59
ну и браузер норм редирект отрабытывает, а 1с никак
19 H A D G E H O G s
 
07.02.17
18:00
(17) Я надеюсь, с сертификатами. Делайте больше любви!
20 ilou
 
07.02.17
18:01
(18) с этим что-то сделать можно или нет?
21 MM
 
07.02.17
18:04
(20) Используй свойство ЗащищенноеСоединение объекта HTTPСоединение.
22 H A D G E H O G s
 
07.02.17
18:05
(20) Надеятся, что не попросят сертификаты и ....

HTTPСоединение = Новый HTTPСоединение("benzindex.ru",,Логин,Пароль);

заменить на

HTTPСоединение = Новый HTTPСоединение("benzindex.ru",,Логин,Пароль,,,Новый ЗащищенноеСоединениеOpenSSL);
23 Вафель
 
07.02.17
18:05
(22) А кто может попросить сертификаты?
24 H A D G E H O G s
 
07.02.17
18:06
Ктож basicauth без SSL сейчас пользует, идиоты закончились лет 10 назад.
25 MM
 
07.02.17
18:07
(24) А зачем нужны логин/пароль, если использован клиентский сертификат? Он же надёжнее.
26 H A D G E H O G s
 
07.02.17
18:07
(23) http сервер.
27 H A D G E H O G s
 
07.02.17
18:08
(25) Ну вот я и думаю, что без сертификатов там.
28 H A D G E H O G s
 
07.02.17
18:09
(25) Логин и Пароль - просто как отдельная какая-нибудь авторизация внутри учетной системы, чтобы не морочиться с заголовками http
29 Вафель
 
07.02.17
18:09
(27) разве для подключения к хтппс нужны какие то клиенские сертификаты?
Что-то не видел ни разу такого
30 ilou
 
07.02.17
18:10
Все всем спасибо, результат какой-то толковый выдал, вот код если кто-то будет еще мучится:

ФайлXML = ПолучитьИмяВременногоФайла("XML");
Логин = "a";
Пароль = "M";
    
URL = "/BenzindexAPI/api/Transactions?FromDate=2016-01-01&ToDate=2016-02-01";
    
ЗаголовокGET = Новый Соответствие();
ЗаголовокGET.Вставить("Accept", "application/json");
    
HTTPСоединение = Новый HTTPСоединение("benzindex.ru",,Логин,Пароль,,,Новый ЗащищенноеСоединениеOpenSSL);
HTTPЗапрос     = Новый HTTPЗапрос(URL, ЗаголовокGET);
HTTPОтвет      = HTTPСоединение.Получить(URL, ФайлXML);
    
ТД = Новый ТекстовыйДокумент;
ТД.Прочитать(ФайлXML);
Текст = ТД.ПолучитьТекст();
Сообщить(Текст);
31 Баобаболюб
 
07.02.17
18:10
Вафель чота тебя не видно было, работать заставили?
32 Вафель
 
07.02.17
18:11
в отпуске был
33 Вафель
 
07.02.17
18:12
(30) Если это xml, то может лучше через веб сервисы?
34 ilou
 
07.02.17
18:16
(33) опять новое, что-то, если бы такое было раз в месяц, а то опять сделаешь и забудешь - это HTTP-сервисы?
35 Вафель
 
07.02.17
18:21
(34) Нет, есть отдельно хттп сервисы, а есть веб-xml
36 Вафель
 
07.02.17
18:22
Хотя скорее всего - это не вебсервис
37 H A D G E H O G s
 
07.02.17
18:31
(31) (32) Братья?
38 Баобаболюб
 
07.02.17
18:35
(37) По разуму