Ich hab' hier was gefunden:
http://www.phpforum.de/forum/showthread.php?t=208524
<?php
/*##
##
## SIPGATE.DE - API Test laut
http://www.sipgate.de/user/download_api.php
##
##*/
/* Error-Handler aktivieren */
error_reporting(E_ALL);
/* Festlegen von vorgegebenen Werten */
define ('SIPGATE_SERVER', 'samurai.sipgate.net');
define ('SIPGATE_PATH', '/RPC2');
define ('SIPGATE_USER', 'xxx');
define ('SIPGATE_PASS', 'xxx');
/* Server Verbindung öffnen, SSL auf Port 443 */
if(($f = fsockopen('ssl://' . SIPGATE_SERVER, 443, $errno, $errstr, 5)) === FALSE) echo 'Fehler '. $errno . ': ' . $errstr;
/* Verbindung zum Server erfolgreich hergestellt */
else
{
/* Zu sendende XML-Daten, hier für Guthabensabfrage laut Doku-PDF */
$xml_data = '<?xml version ="1.0" encoding="UTF-8"?><methodCall><methodName>samurai.BalanceGet</methodName></methodCall>';
/* Sende POST Request */
fputs($f, 'POST ' . SIPGATE_PATH . ' HTTP/1.0' . "\r\n" .
'Authorization: Basic ' . base64_encode(SIPGATE_USER . ':' . SIPGATE_PASS) . "\r\n" .
'Host: sipgate.net' . "\r\n" .
'User-Agent: PHPxmlParser' . "\r\n" .
'Content-type: text/xml' . "\r\n" .
'Content-Length: '. strlen($xml_data) . "\r\n" .
'Connection: close' . "\r\n" . "\r\n");
/* Sende XML-Daten */
fputs($f, $xml_data);
/* Rückgabe vom Zielserver sammeln */
$ret = '';
while(!feof($f))
{
$ret .= fread($f, 1024);
}
/* Rückgabe in Header und XML trennen */
list($header, $xml_response) = explode("\r\n\r\n", $ret);
echo 'Header: ' . $header . '<br /><hr /><br />';
echo 'XML: ' . $xml_response . '<br /><hr /><br />';
/* Verarbeiten des XML-Teils */
//$xmlparse = new SimpleXMLElement($xml_response);
}
?>