208 похожих чатов

Доброй ночи! Вопрос: может кто-то настраивал подключение к апи для \Bitrix\Main\Web\HttpClient

через токен ?


устанавливаю заголовок:

$httpClient->setHeader('Authorization', 'Bearer '.$token);

но получаю 415 ответ от сервера 🙁

как можно понять причину такого некорректного ответа ?

11 ответов

72 просмотра

А если убрать этот заголовок вообще, то будет 401 или также 415?

А без клиента, через курл пробовал напрямую?

Некоторые веб-сервисы требуют Content-type заголовок, проверьте что вы его отправляете. И после запроса, если второй запрос выполняете тем же объектом http клиента делайте очистку headers

Aleksey-Popovich Автор вопроса
Andrei Nikolaev
Некоторые веб-сервисы требуют Content-type заголов...

если ставлю $httpClient->setHeader('Content-Type','application/json',true); получаю вообще 400 ошибку:( явно чего-то не хватает:( ищу, чего

Aleksey Popovich
если ставлю $httpClient->setHeader('Content-Type',...

400 это либо какой-то заголовок лишний полетел, либо совершенно не то отправил. С чем интегрируется? Покажи код

Aleksey-Popovich Автор вопроса
Andrei Nikolaev
400 это либо какой-то заголовок лишний полетел, ли...

интеграция вот с этим (первый же запрос - /api/merchant/v1/qrc-data): https://devul-c2b-sbp.openbank.ru/api/merchant/swagger/index.html $sendArray = [ 'merchantId'=>$this->merchantID, 'templateVersion'=>'01', 'qrcType'=>'02', 'amount'=>$amount, 'currency'=>'RUB', 'paymentPurpose'=>$purpose, 'Params'=>["paymentData"=> $params], ]; $httpClient = new \Bitrix\Main\Web\HttpClient(); $httpClient->setHeader('Authorization','Bearer '.$token,true); $httpClient->post($this->baseUrl.'/api/merchant/v1/qrc-data?mediaType=image/svg+xml',Json::encode($sendArray)); если добавляю заголовок: $httpClient->setHeader('Content-Type','application/json-patch+json',true); - получаю 400 статус. убираю эту строку - 415 $httpClient->setHeader('accept','application/json',true); - этот заголовок, увидел в документации, что они передают, пробовал добавлять и убирать - ничего не меняется 🙁

Aleksey Popovich
интеграция вот с этим (первый же запрос - /api/mer...

1. Отсутствуют width и height параметры в query string 2. Accept заголовок так же пропущен 3. Content-Type: application/json 4. Структура json не корректная: 4.1 Проверить чтобы в paymetnData в $params была строка 4.2 Не Params, а params (с маленькой буквы 4.3 Отсутствуют ключи: account, qrcTtl, subscriptionPurpose, redirectUrl. 5. При 400 статусе в payload должен вернутся json ошибки. Что возвращается?

Aleksey-Popovich Автор вопроса
Andrei Nikolaev
1. Отсутствуют width и height параметры в query st...

[RESULT] => {"errors":{"mediaType":["The input was not valid."]},"type":"https://tools.ietf.org/html/rfc7231#section-6.5.1","title":"One or more validation errors occurred.","status":400,"detail":"The server cannot or will not process the request due to an apparent client error.","traceId":"|3636bc2f-494450fad2b9b99f.","correlationId":"d526ec20ef704d00b18b832365c6de49"} перебираю параметры ... что-то явно не так передаю:(

Aleksey Popovich
[RESULT] => {"errors":{"mediaType":["The input was...

Надо провалиться в HttpClient и посмотреть какой HTTP запрос уходит. Продозрение в том, что mediaType который отправляете не кодируется и из-за этого не парсится сервером с их стороны

Aleksey-Popovich Автор вопроса
Andrei Nikolaev
Надо провалиться в HttpClient и посмотреть какой H...

да, тоже так подумал, что нужно лезть в ядро

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта