PHP4: Senden von XML über HTTPS/POST über cURL?
Schrieb ich eine Klasse/Funktion zum senden von xml über https über PHP4/cURL, Frage mich, ob dies der richtige Ansatz ist, oder wenn es gibt eine bessere.
Beachten Sie, dass PHP5 ist keine option derzeit.
/**
* Send XML via http(s) post
*
* curl --header "Content-Type: text/xml" --data "<?xml version="1.0"?>...." http://www.foo.com/
*
*/
function sendXmlOverPost($url, $xml) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
//For xml, change the content-type.
curl_setopt ($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/xml"));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //ask for results to be returned
if(CurlHelper::checkHttpsURL($url)) {
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
}
//Send to remote and return data to caller.
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
prost!
- Wow, keine option vorhanden? 🙁 Auch, wenn Sie nicht auf cURL, Blick in HTTP_Request (pear.php.net/package/HTTP_Request).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn das Protokoll Sie verwenden, ist XML-RPC (sieht aus wie es, basierend auf was Sie gesagt haben) und Sie sind mit mindestens PHP 4.2, haben einen Blick auf http://phpxmlrpc.sourceforge.net/ für Bibliotheken und Ressourcen.
Große Lösung! Gefunden eine ähnliche, auch hier:
Auch Sie haben gezeigt, wie zu erhalten diese Art von XML/JSON auf server
$ch = curl_init($serviceUrl);
Verwenden Sie die SoapClient Klasse mit den meisten PHP-Installationen
Ein Beispiel: