Имя: Пароль:
1C
1С v8
Помогите разобраться с Get-запросом из 1С 8
0 kan81
 
09.06.14
12:57
Доброго времени суток.
Помогите разобраться с Get-запросом из 1С 8.3.
Необходимо получить файл, отравив get-запрос на адрес, например «https://MySite.ru/exchange?param1=1¶m2=2». При запросе не надо указывать никакие сертификаты, ничего. Если ввести запрос в браузере, то в ответ будет что-то вроде:
{
  "count": 69,
  "total": 69,
  "orders": [
    {
      "number": 1,

Сначала пробовал методами 1С:
HTTPЗапрос = Новый HTTPСоединение("MySite.ru" , , , , );
HTTPЗапрос.Получить("exchange?param1=1&param2=2" , tmp);
Но в ответ приходи ошибка, то необходимо использовать «https».
Потом пробовал другим способом:

    WinHttp= Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
    WinHttp.Option(2,"Windows-1251");                  
    WinHttp.Open("POST","https://MySite.ru/exchange",0);
    WinHttp.SetRequestHeader("Accept-Language", "ru");
    WinHttp.SetRequestHeader("Accept-Charset","Windows-1251");
    WinHttp.setRequestHeader("Content-Language", "ru");
    WinHttp.setRequestHeader("Content-Charset", "Windows-1251");
    WinHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=Windows-1251");
    
    ПараметрыПОСТ = "param1=1&param2=2";
    
    WinHttp.Send(ПараметрыПОСТ);
    
    Текст = Новый ТекстовыйДокумент;;
    Текст.ДобавитьСтроку(WinHttp.ResponseText());
    Текст.Записать(tmp);

В этом случае в ответ приходит только:
{
  "count": 0,
  "total": 69,
  "orders": []
}

Подскажите что делаю не так, где ошибка.
Заранее благодарен за ответ.
1 acsent
 
09.06.14
12:58
смотри все параметры Новый HTTPСоединение
2 kan81
 
09.06.14
13:01
Смотрел:
Новый HTTPСоединение(<Сервер>, <Порт>, <Пользователь>, <Пароль>, <Прокси>, <Таймаут>, <ЗащищенноеСоединение>)

...

<ЗащищенноеСоединение> (необязательный)

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

Но у меня нет ничего подобного - нет сертификатов.
3 fatal_error
 
09.06.14
13:12
(2) как делал я:
Был какой-то сайт с доступом по https. Сертификат сайта был на 4-ом уровне (т.е. его выдавали другие сертификаты). Все сертификаты засунул в файл cacert.pem и юзал HTTPСоединение без параметра <ЗащищенноеСоединение>. Без указания сертификатов в файле cacert.pem у тебя ничего не взлетит с HTTPСоединение.
2 + 2 = 3.9999999999999999999999999999999...