10. februar 2012 - 17:55
Der er
1 kommentar og
1 løsning
HTTP Post XML og modtag svar
Hejsa,
Jeg har tidligere haft et spørgsmål om dette, man kom aldrig videre.
Min problemstilling er, at jeg har et system hvor jeg gerne skulle sende noget xml til en anden side, via HTTP POST. Herfra skal jeg gerne modtage et svar, enten med informationer, eller om kaldet var OK.
Herudover vil modsatte system også til tider sende callback til mig, hvor de forventer et svar. Altså, de sender informationer, og jeg skal sende en statuskode OK (et stump xml-kode).
Men hvordan gøres dette? Scriptet nedenfor fandt jeg, og det burde eftersigende kunne sende en stump XML via HTTP POST, men hvordan behandler/udskriver jeg de informationer jeg får tilbage?
10. februar 2012 - 17:55
#1
Glemte scriptet :)
<?php
$url = "API URL";
$apirequest = '<?xml version="1.0" encoding="utf-8" ?>
<eblRequest username="USERNAME" apiKey="KEY">
<getEvents>
<eventId>2593</eventId>
</getEvents>
</eblRequest>';
$header = "POST HTTP/1.0 \r\n";
$header .= "Content-type: text/xml \r\n";
$header .= "Content-length: ".strlen($post_string)." \r\n";
$header .= "Content-transfer-encoding: text \r\n";
$header .= "Connection: close \r\n\r\n";
$header .= $post_string;
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 4);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $header);
$data = curl_exec($ch);
if(curl_errno($ch))
print curl_error($ch);
else
curl_close($ch);
?>