Post Запрос 1с 8.2

Тема в разделе "1C и всё что с ней связано", создана пользователем SeverBap, 28 мар 2012.

  1. SeverBap

    SeverBap Well-Known Member

    Регистрация:
    18 сен 2007
    Сообщения:
    440
    Симпатии:
    0
    Добрый день подскажите столкнулся с такой вещью что при реализации метода
    Код (Text):
    Соединение.ОтправитьДляОбработки(ФайлПараметровЗапроса,СокрЛП(ПроектВыборка.СтрокаЗаказы), ФайлВыгрузкиЗаказов, ЗаголовокHTTP)
    Возращает ошибку 302. проверял по адресу все верно... написал альтернативное решение штатке - возращает xml c описание ошибки (пишит что не указаны параметры)
    Вот процедуры альтернативы:
    Код (Text):
        СтрокаЛогинПароль=СокрЛП(СокрЛП(ДанныеИнтеграции.Логин)+":"+СокрЛП(ДанныеИнтеграции.Пароль));
    ЛогинПароль = Base64Encode(СтрокаЛогинПароль);
    ЛогинПароль = СтрЗаменить(ЛогинПароль,Символы.ПС,"");
    ЛогинПароль = СтрЗаменить(ЛогинПароль,Символы.ВК,"");
    УРЛ = "http://"+СокрЛП(ДанныеИнтеграции.АдресРесурса)+"/admin/orders.xml";
    Результат=ПослатьPOSTЗапрос(УРЛ,ЛогинПароль,ИмяВременногоФайла);
    ТекстДанных= Новый ТекстовыйДокумент;
    РезультатXML=ПолучитьИмяВременногоФайла("xml");
    ТекстДанных.УстановитьТекст(Результат);
    ТекстДанных.Записать(РезультатXML);
    ТекстДанных="";
    ///**************************

    Функция ПослатьPOSTЗапрос(УРЛ,ЛогинПароль,ПутьКФайлу)
    HTTP=Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
    HTTP.Open("POST",УРЛ,false);
    HTTP.SetRequestHeader("Content-type", "application/xml");
    HTTP.SetRequestHeader("Authorization","Basic "+Строка(ЛогинПароль));
    ЧтениеТекст = Новый ЧтениеТекста;
    ЧтениеТекст.Открыть(ПутьКФайлу);
    Содержимое = ЧтениеТекст.Прочитать();
    Результат="";
    Попытка
    HTTP.Send(Содержимое);
    HTTP.WaitForResponse();
    Возврат HTTP.ResponseText;
    Исключение
    Возврат "";
    КонецПопытки;
    КонецФункции
    вот незнаю как прописать параметры типа b_date, e_date в адресной строке это типа фильтер: ?b_date=01.01.2011&e_date=31.04.2012
    раньше при формировании штатки прописывал эти параметры так:
    Код (Text):
                Соединение = Новый HTTPСоединение(СтрокаСоединения);
    Boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", "");         

    ФайлПараметровЗапроса= ПолучитьИмяВременногоФайла("txt");

    ЗапросHTTP = Новый ЗаписьТекста;
    ЗапросHTTP.Открыть(ФайлПараметровЗапроса);

    ЗапросHTTP.ЗаписатьСтроку("--" + Boundary);
    ЗапросHTTP.ЗаписатьСтроку("--" + Boundary);
    ЗапросHTTP.ЗаписатьСтроку("Content-disposition: form-data; name=""b_date""" + Символы.ПС);
    ЗапросHTTP.ЗаписатьСтроку(ДатаНачалаВыгрузки);
    ЗапросHTTP.ЗаписатьСтроку("--" + Boundary);

    ЗапросHTTP.ЗаписатьСтроку("--" + Boundary);
    ЗапросHTTP.ЗаписатьСтроку("Content-disposition: form-data; name=""e_date""" + Символы.ПС);
    ЗапросHTTP.ЗаписатьСтроку(ДатаОкончанияВыгрузки);
    ЗапросHTTP.ЗаписатьСтроку("--" + Boundary);

    ЗапросHTTP.Закрыть();

    ФайлВыгрузкиЗаказов =ПолучитьИмяВременногоФайла("xml");

    ФайлЗапросHTTP = Новый Файл(ФайлПараметровЗапроса);
    РазмерФайлаЗапросаHTTP = XMLСтрока(ФайлЗапросHTTP.Размер());

    ЗаголовокHTTP = Новый Соответствие();
    ЗаголовокHTTP.Вставить("Content-Type", "multipart/form-data; boundary=" + Boundary);
    ЗаголовокHTTP.Вставить("Content-Length", РазмерФайлаЗапросаHTTP);
    как это реализовать (указать параметры)?
     
  2. SeverBap

    SeverBap Well-Known Member

    Регистрация:
    18 сен 2007
    Сообщения:
    440
    Симпатии:
    0
    такое ощущение что косяк в передаче заголовка в штатке, убрал "ЗаголовокHTTP" который сформирована соответствием:
    Код (Text):
                ЗаголовокHTTP = Новый Соответствие();
    ЗаголовокHTTP.Вставить("Content-Type", "multipart/form-data; boundary=" + Boundary);
    ЗаголовокHTTP.Вставить("Content-Length", РазмерФайлаЗапросаHTTP);
    вернул что не указаны параметры - это уже что-то!!
     
  3. SeverBap

    SeverBap Well-Known Member

    Регистрация:
    18 сен 2007
    Сообщения:
    440
    Симпатии:
    0
    выяснилось что рубили на хостинге
     
Загрузка...

Поделиться этой страницей