PHP REST webservices Curl помощь - PullRequest
       1

PHP REST webservices Curl помощь

2 голосов
/ 07 октября 2010

Я использовал следующий скрипт для использования веб-сервисов REST, предоставляемых Commission Junction. Я могу получить ответ, но ответ не в формате xml.

<?php

$targeturl="https://support-services.api.cj.com/v2/countries";

$CJ_DevKey= "xxxxxxxxx";

// return xml feed from CJ

$ch = curl_init($targeturl);
curl_setopt($ch, CURLOPT_POST, FAlSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: '.$CJ_DevKey));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$response = curl_exec($ch);
curl_close($ch);

echo $response; // will print in browser all country codes in an xml format

/*

ADD YOUR OWN CODE HERE TO DO WHAT YOU WANT WITH THE RESPONSE.  MAYBE SAVE RESULTS TO A FILE OR THE PARSE THE RESULTS INTO A DATABASE?

*/

?>

Я просто запутался. Разве это не ответ при использовании веб-сервисов REST всегда в формате XML. Пожалуйста, поправьте меня, если я ошибаюсь.

Кто-нибудь, пожалуйста, взгляните на этот скрипт и предложите мне, что мне нужно сделать, чтобы получить ответ в xml? Я хочу сохранить ответ в файле XML и затем обработать его позже.

Ответы [ 3 ]

2 голосов
/ 07 октября 2010

Из того, что я могу собрать, curl ничего не делает с полученными данными, это ваше дело.Вам нужно немного разобрать, как это сделать.

Аналогичный вопрос здесь: PHP cURL, извлечение ответа XML

Кроме того, ответ от веб-службы не долженбыть XML.Это обычное дело, есть и другие форматы, такие как json, yaml и html:)

0 голосов
/ 31 августа 2011

Я попробовал ваш код, и он генерирует xml из того, что я вижу. Вам необходимо проанализировать xml, поэтому в части, которая говорит «ДОБАВЬТЕ СВОЙ СОБСТВЕННЫЙ КОД ЗДЕСЬ», замените его на:

$parsed_xml = simplexml_load_string($response);

Как уже упоминалось ранее, вы можете просмотреть структуру xml, просмотрев источник вывода вашего кода в браузере. Имея эту информацию, вы можете начать понимать, как справиться с ней, используя simplexml.

0 голосов
/ 07 октября 2010

При получении доступа к https://support -services.api.cj.com / v2 / country я получаю XML-ответ. Вы просто смотрите на сырой ответ в браузере? Конечно, браузер будет интерпретировать XML, поэтому вы не увидите сам XML, только содержащиеся в нем данные. Попробуйте View Source вашего браузера или htmlentities на результат до его вывода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...