|
Передать 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) Да, примерно так и сделал.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |