@sochkov
дилетант в сфере IT

Почему вместо знака $ в POST запросе отправляется %24 и как это исправить?

Вот код.
Он формирует JSON и отправляет POST запрос. Код для Wordpress.
$response = wp_remote_post( 'https://api.textback.io/api/endUserNotifications/notifications' , 
array('headers' => 
array('Authorization' => 'Bearer [token]',
'Content-Type' => 'application/x-www-form-urlencoded'),
"body" => array('$filter' => '1 eq 1','text' => 'Test notification for all subscribers')) );

Вместо $filter отправляется %24filter
Как можно исправить этот баг? Пробовал вместо одинарных кавычек ставить двойные, но так код не работает.
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
AnatolTh
@AnatolTh
Full Stack Developer
Символ $ в URL использовать нельзя, поэтому он передаётся как %24.
Если вы меняете на двойные кавычки, php ищет переменную $filter для вставки её значения.

UPD
Проглядел. В API нужно передать JSON, так что body надо обернуть в json_encode.
"body" => json_encode(array('$filter' => '1 eq 1','text' => 'Test notification for all subscribers'))) );
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы