Intereting Posts
Является ли это правильным объектно-ориентированным программированием в php? Проверьте, содержит ли переменная круглые ссылки Класс Paginator Как использовать sha256 в php5.3.0 Инициировать компонент приложения с конфигурацией из базы данных Как обойти или заставить PHP json_decode не изменять мои очень большие целочисленные значения? Как преобразовать объекты HTML, такие как & # 8211; к их эквивалентам символов? Как найти страну, используя IP-адрес в PHP? устаревшие предупреждения при использовании комплекта админов сонаты Кодирование JSON с проблемами PHP с массивом ЗАКАЗАТЬ по одному идентификатору, если в одной таблице больше одинаковых идентификаторов Нужна помощь, эхо, отмеченные флажками, выбранные пользователем. Заменить символ Юникода Недопустимые файлы списков разрешений Google API. Символическая доктрина auto_mapping Непризнанная

Отправка XML-данных с использованием HTTP POST с PHP

Мне нужно отправить этот XML-файл

<?xml version="1.0" encoding="UTF-8"?> <gate> <country>NO</country> <accessNumber>1900</accessNumber> <senderNumber>1900</senderNumber> <targetNumber>4792267523</targetNumber> <price>0</price> <sms> <content><![CDATA[This is a test æøå ÆØÅ]]></content> </sms> </gate> 

на услугу шлюза SMS. Служба прослушивает HTTP-запросы POST. XML должен быть встроен в BODY запроса POST.

Я использую PHP и структуру CodeIgniter, но я полный PHP n00b, поэтому в идеале мне понадобится тщательное руководство, но любые указатели в правильном направлении будут оценены.

вы можете использовать библиотеку cURL для публикации данных: http://www.php.net/curl

 $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_URL, "http://websiteURL"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "XML=".$xmlcontent."&password=".$password."&etc=etc"); $content=curl_exec($ch); 

где postfield содержит XML, который вам нужно отправить – вам нужно будет указать postfield для службы API (предположительно Clickatell)

Другим вариантом будет file_get_contents() :

 // $xml_str = your xml // $url = target url $post_data = array('xml' => $xml_str); $stream_options = array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded' . "\r\n", 'content' => http_build_query($post_data))); $context = stream_context_create($stream_options); $response = file_get_contents($url, null, $context);