2010-10-01 6 views
0

У меня есть страница PHP сказать test.phpкак я могу отправить XML через URL

Здесь я создаю XML-

$xmlVariable = <?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<signupInfo> 
<address> 
     <address>1 Infinite Loop</address> 
     <city>Cupertino</city> 
     <state>CA</state> 
     <zip>99999</zip> 
    </address> 

</signupInfo> 

Теперь мне нужно, чтобы отправить его в пункт назначения (eg:https://destination.cm/fg)

Как я могу отправить этот xml?

+1

Это зависит от формата, что получатель ожидает его. HTTP PUT запрос? Формировать кодированные данные, когда XML является значением для заданного имени поля? Что-то другое? – Quentin

ответ

3

С Curl

http://www.php.net/manual/en/ref.curl.php

$curl_handle = curl_init(); 
if (!$curl_handle) { 
    die('fail to initialize'); 
} 

curl_setopt($curl_handle, CURLOPT_TIMEOUT, 30); 
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 30); 

//target URL setup 
curl_setopt($curl_handle, CURLOPT_URL, 'https://destination.cm/fg'); 
//mime type setup, change if necessary 
curl_setopt($curl_handle, CURLOPT_HTTPHEADER, array("Content-Type: application/xml")); 

curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curl_handle, CURLOPT_FAILONERROR, 1); 
curl_setopt($curl_handle, CURLOPT_POST, 1); 

//here you assign the body of your request 
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $xmlVariable); 

$response = curl_exec($curl_handle); 

if (curl_errno($curl_handle)) { 
    die(curl_error($curl_handle));    
} 

printf("Received :\n%s", $response); 
+0

Спасибо за подробный ответ. Позвольте мне уточнить, что –

-1

Может быть, ваши данные XML не очень долго, но это не рекомендуется, что вы отправляете данные с помощью этого way.It относится к безопасности problem.So использовать POST вместо от получения

забыть этот пост, я получаю что-то не так ... жаль :(

+0

Как сообщение безопаснее, чем получить? –

+0

И кто сказал что-нибудь о GET? – Quentin

+0

Как я могу использовать POST здесь, не могли бы вы объяснить больше? –