Intereting Posts
Как перенаправить 404s, сгенерированные для файлов css и JS? Добавить меню фильтров в список сообщений администратора (настраиваемого типа) для фильтрации сообщений по пользовательским значениям полей Любой способ скрыть текст сообщений в блогах, если он длиннее 300 символов Overed get_template_part ('partials / post', 'sidebar'); с плагином Как вернуть команду в WP-CLI из оболочки wp? Загрузка Force CSV с помощью template_redirect add_theme_support не выводит миниатюры Удаленный сценарий jQuery из header.php, любые проблемы? Получать событие «menu-toogle» из меню раздела в настройке Загружать изображения из медиабиблиотеки на компьютер в BULK? get_posts и несколько категорий Как удалить addthis из моего шаблона по умолчанию Добавление панели администратора на страницу с настраиваемым шаблоном Почему я не могу направить пользователя в раздел моего блога без входа? Создание архивов вложений в тегах и категориях

Проводка XML-запроса с использованием HTTP API

Я пытаюсь работать с API, который ожидает строку XML в теле сообщения. Кроме того, в документах для API указывается:

Пожалуйста, опубликуйте текст mime-типа / xml с XML в теле сообщения

Я хочу использовать API-интерфейс WordPress для выполнения этой работы, но у меня возникают некоторые проблемы. До сих пор у меня есть код вроде следующего, который, кажется, терпит неудачу.

$url = 'https://www.testurl.com'; $xml = <<<TESTED XML HERE>>>; $response = wp_remote_post( $url, array( 'method' => 'POST', 'timeout' => 45, 'redirection' => 5, 'httpversion' => '1.0', 'headers' => array( 'mime-type' => 'text/xml' ), 'body' => array('xml' => $xml), 'sslverify' => false ) ); 

Мой вопрос: правильно ли я устанавливаю mime-тип и отправлю ли я XML в нужное место?

На удивление сложно найти примеры HTTP-API WordPress с использованием запросов XML.

Solutions Collecting From Web of "Проводка XML-запроса с использованием HTTP API"

Я понял. API-интерфейс WordPress HTTP выполнял свою работу; моя проблема связана с API, с которым я работал. Я только что изменил свой код:

 $url = 'https://www.testurl.com'; $xml = <<<TESTED XML HERE>>>; $response = wp_remote_post( $url, array( 'method' => 'POST', 'timeout' => 45, 'redirection' => 5, 'httpversion' => '1.0', 'headers' => array( 'Content-Type' => 'text/xml' ), 'body' => array('postdata' => $xml, 'postfield' => 'value'), 'sslverify' => false ) ); 

Опять же … это было просто неправильное понимание API, с которым я работал, а не API HTTP, предоставленный моим WordPress.

Изменить: данные POST должны быть представлены как массив, в соответствии с http://codex.wordpress.org/Function_API/wp_remote_post . Массив будет преобразован в строку, подобную этой: key1 = val1 & key2 = val2 & …