|   |   | 
| 
 | Передать POST запросом массив. | ☑ | ||
|---|---|---|---|---|
| 0
    
        Zombi 16.03.22✎ 15:12 | 
        Передаю пост запросом данные. Попросили сделать массивом. Сделал вот так:
 HTTPСоединение = Новый HTTPСоединение("4553548482/",,,,,,Новый ЗащищенноеСоединениеOpenSSL(), Ложь); ЗаписьJSON = Новый ЗаписьJSON; тПараметрыJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет, " ", Истина); ЗаписьJSON.УстановитьСтроку(тПараметрыJSON); МассивДанныхJSON = Новый Массив; СтруктураДанныхJSON = Новый Структура; тДанные = Новый Структура; тДанные.Вставить("id", ГУИДКонтрагента); тДанные.Вставить("type", "kontragent"); тДанные.Вставить("event", "add"); тДанные.Вставить("name", Источник.Наименование); тДанные.Вставить("fullname", Источник.НаименованиеПолное); тДанные.Вставить("inn", Источник.ИНН); тДанные.Вставить("kpp", Источник.КПП); тДанные.Вставить("kommentarii", Источник.Комментарий); МассивДанныхJSON.Добавить(тДанные); СтруктураДанныхJSON.Вставить("data", МассивДанныхJSON); ЗаписатьJSON(ЗаписьJSON, СтруктураДанныхJSON); СтрокаJS = ЗаписьJSON.Закрыть(); запросPOST = Новый HTTPЗапрос(""); запросPOST.Заголовки.Вставить("Content-type", "application/x-www-form-urlencoded"); запросPOST.УстановитьТелоИзСтроки("mData="+СтрокаJS,"utf-8",ИспользованиеByteOrderMark.НеИспользовать); Ответ = HTTPСоединение.ОтправитьДляОбработки(запросPOST); Попросили без JSON. Как передать без JSON? | |||
| 1
    
        lite777 16.03.22✎ 15:29 | 
        запросPOST.УстановитьТелоИзСтроки("mData="+ СтруктураДанныхJSON,"utf-8",ИспользованиеByteOrderMark.НеИспользовать);     | |||
| 2
    
        Kassern 16.03.22✎ 15:32 | 
        (0) не хотят json, пихайте им xml     | |||
| 3
    
        Zombi 16.03.22✎ 15:34 | 
        (1) Просто структуру передать?     | |||
| 4
    
        Ёпрст гуру 16.03.22✎ 15:55 | 
        (0) передавай мультипартом..     | |||
| 5
    
        Zombi 16.03.22✎ 16:07 | 
        (4) А это как? Не очень я шарю во всех этих запросах джет, пост.     | |||
| 6
    
        ololoraise 16.03.22✎ 16:15 | 
        (5) так, а что требуют от тебя?     | |||
| 7
    
        Zombi 16.03.22✎ 16:19 | 
        (6) При изменении контрагента передатьпост запросом в массиве его реквизиты(ИД, ИНН, КПП, Нименование и.т.д.)     | |||
| 8
    
        ololoraise 16.03.22✎ 16:20 | 
        (7) Так?
 Попытка WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1"); WinHttp.Option(2,"utf-8"); WinHttp.Open("POST",url,0); WinHttp.SetRequestHeader("Accept-Language", "ru"); WinHttp.SetRequestHeader("Accept-Charset","utf-8"); WinHttp.setRequestHeader("Content-Language", "ru"); WinHttp.setRequestHeader("Content-Charset", "utf-8"); WinHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8"); ПараметрыПОСТ = "id=" + ГУИДКонтрагента; ПараметрыПОСТ = ПараметрыПОСТ + "&" + "type", "kontragent"; // ну и так все дальше WinHttp.Send(ПараметрыПОСТ); ТекстОтвета = WinHttp.ResponseText(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; | |||
| 9
    
        ololoraise 16.03.22✎ 16:21 | 
        Тут поспешил: 
 ПараметрыПОСТ = ПараметрыПОСТ + "&" + "type=" + "kontragent"; | |||
| 10
    
        Zombi 16.03.22✎ 16:24 | 
        (8) Точно, амперсант работает. Спасибо!     | |||
| 11
    
        Zombi 16.03.22✎ 16:24 | 
        (9) Да, примерно так и сделал.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |