ОтправитьДляОбработки неверно отправляет заголовки
Приветствую.
Необходимо в заголовках передать некую строку, обернутую Base64. Нативными средствами платформы получаю необходимые данные
Дальше добавляю в заголовки запроса эти данные под неким ключом Key и вызываю метод ОтправитьДляОбработки объекта HTTPСоединение. Сервер возращает код состояния 400. С помощью Fiddler удалось выяснить, что пакет, который в итоге отправляет платформа, в заголовках имеет тот же ключ Key, но данные уже такие
То есть добавляется символ :. Как это побороть?
Необходимо в заголовках передать некую строку, обернутую Base64. Нативными средствами платформы получаю необходимые данные
YWRtaW5kZW1vOjA5ODc2NUBhOjZhOGE1YTNmMjgzMjQ3NmM4ZGU4NGU0YjAzNTNl
MGIwDQo=
Дальше добавляю в заголовки запроса эти данные под неким ключом Key и вызываю метод ОтправитьДляОбработки объекта HTTPСоединение. Сервер возращает код состояния 400. С помощью Fiddler удалось выяснить, что пакет, который в итоге отправляет платформа, в заголовках имеет тот же ключ Key, но данные уже такие
YWRtaW5kZW1vOjA5ODc2NUBhOjZhOGE1YTNmMjgzMjQ3NmM4ZGU4NGU0YjAzNTNl
MGIwDQo=:
То есть добавляется символ :. Как это побороть?
По теме из базы знаний
- БСП: добавление нового провайдера SMS
- Распознавание телефонных звонков с помощью речевых технологий Yandex SpeechKit (новая версия Yandex SpeechKit Cloud и Yandex Object Storage)
- Одна ККТ для розничного магазина и Интернет-сайта
- Глава 2. Как я написал (собрал с инфостарта) свой парсер сайта 1С Releases
- Взаимодействие мобильного приложения 1С и центральной информационной базы с использованием http-сервиса
Найденные решения
(12)
Если присваивать в заголовок значение без переноса, то raw получается такой:
Поэтому не понятно, почему не можете?
Берем строку в base64 выпиливаем из нее символы ПС, ВК, возможно другие, чтобы было все в одну строку.
Вставляем это значение в заголовок.
На закодированное значение это никак не влияет.
Если присваивать в заголовок значение без переноса, то raw получается такой:
User-Agent: 1C+Enterprise/8.3
Accept: */*
Proxy-Connection: Keep-Alive
Authentication: YWRtaW5kZW1vOjA5ODc2NUBhOjhlYmVkNDRlYzQ2YjQzZTBiNWJlZTFiYjVm <wbr>YjI5Nzk0DQo=
Content-Type: text/xml; charset=utf-8
Поэтому не понятно, почему не можете?
Берем строку в base64 выпиливаем из нее символы ПС, ВК, возможно другие, чтобы было все в одну строку.
Вставляем это значение в заголовок.
На закодированное значение это никак не влияет.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Если использовать КодироватьСтроку, то двоеточие не добавляется, но естественно и строка уже не валидная для декодирования base64. Только после РаскодироватьСтроку можно получить Base64Значение. Пробовал указывать кодировку в заголовке Content-Type: application/json; charset=UTF-8 - не помогло.
(3) Это не поле ввода. При изменении положения ничего не поменялось
(5) (4) Передать в теле запроса не вариант. Поставщик API не будет переделывать сервис
Если в заголовок вставить любой ключ, в котором есть перенос строки, то платформа добавляет двоеточие. Пример
(5) (4) Передать в теле запроса не вариант. Поставщик API не будет переделывать сервис
Если в заголовок вставить любой ключ, в котором есть перенос строки, то платформа добавляет двоеточие. Пример
Headers.Insert("au", "fghdfh
|sdf")
(6) покажите пример запроса который надо отправить.
Не совсем понятно, по вашему примеру, куда именно платформа добавляет двоеточие?
При вставке заголовков в запрос заголовки вставляются как <Ключ заголовка>: <Значение заголовка>.
Поэтому не понятно, что именно не так.
Не совсем понятно, по вашему примеру, куда именно платформа добавляет двоеточие?
При вставке заголовков в запрос заголовки вставляются как <Ключ заголовка>: <Значение заголовка>.
Поэтому не понятно, что именно не так.
Поддерживаю, можно же в теле запроса передать заголовки.
Лучше покажите raw запрос из fiddler'а, который надо получить в конечном итоге.
Лучше покажите raw запрос из fiddler'а, который надо получить в конечном итоге.
(5) raw
POST test HTTP/1.1
Host: apidemo.test.com
Proxy-Authorization: NTLM TlRMTVNTUAABAAAAB7IIogkACQA3AAAADwAPACgAAAAKAO5CAAAAD0xBUFRP UC1BMVZCVVBKS1dPUktHUk9VUA==
User-Agent: 1C+Enterprise/8.3
Accept: */*
Connection: Keep-Alive
Content-Type: application/json; charset=UTF-8
Authentication: YWRtaW5kZW1vOjA5ODc2NUBhOjhlYmVkNDRlYzQ2YjQzZTBiNWJlZTFiYjVm YjI5
Nzk0DQo=
taxCode: 0106713804
Content-Length: 1492
{
"xmlData": "somexml",
"pattern": "",
"serial": ""
}
Показать
(12)
Если присваивать в заголовок значение без переноса, то raw получается такой:
Поэтому не понятно, почему не можете?
Берем строку в base64 выпиливаем из нее символы ПС, ВК, возможно другие, чтобы было все в одну строку.
Вставляем это значение в заголовок.
На закодированное значение это никак не влияет.
Если присваивать в заголовок значение без переноса, то raw получается такой:
User-Agent: 1C+Enterprise/8.3
Accept: */*
Proxy-Connection: Keep-Alive
Authentication: YWRtaW5kZW1vOjA5ODc2NUBhOjhlYmVkNDRlYzQ2YjQzZTBiNWJlZTFiYjVm <wbr>YjI5Nzk0DQo=
Content-Type: text/xml; charset=utf-8
Поэтому не понятно, почему не можете?
Берем строку в base64 выпиливаем из нее символы ПС, ВК, возможно другие, чтобы было все в одну строку.
Вставляем это значение в заголовок.
На закодированное значение это никак не влияет.
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот