XML-RPC Interface-Beschreibung
Moderator: Co-Administratoren
Re: XML-RPC Interface-Beschreibung
Hallo quickmic,
ich kann zu deinem Code nicht sehr viel sagen.
In VB.NET hatte ich auch erst das Problem, das sich mit einem HTTP-Post nichts getan hat.
Erst als ich einen HTTP-Post abgeschickt habe und sofort einen HTTP-Response gewartet habe,
hat es funktioniert.
Eventuell ist das bei Dir das gleiche Problem.
Bis dann
Martin
ich kann zu deinem Code nicht sehr viel sagen.
In VB.NET hatte ich auch erst das Problem, das sich mit einem HTTP-Post nichts getan hat.
Erst als ich einen HTTP-Post abgeschickt habe und sofort einen HTTP-Response gewartet habe,
hat es funktioniert.
Eventuell ist das bei Dir das gleiche Problem.
Bis dann
Martin
-
- Beiträge: 518
- Registriert: 20.01.2011, 14:39
- Hat sich bedankt: 5 Mal
- Danksagung erhalten: 4 Mal
Re: XML-RPC Interface-Beschreibung
Hmm, ich habe die Response-Abfrage auskommentiert, da sonst ewig auf ne Antwort gewartet wurde. Werde das aber nochmal versuchen...
Problem ist, dass ich PHP nicht aus dem Effeff kann und daher mir weder sicher bin, ob der Code so passt (hab da ein Bsp aus dem Netz adaptiert), oder schon das XML Kommando nicht passt... Obwohl XML passen sollte.
Gibts vielleich ein Tool (hab keines gefunden) mit dem ich mich einfach auf die IP und Port der CCU verbinden kann, und beliebige XML-Kommandos schicken kann? Dann kann ich den Fehler eingrenzen.
mfg
quickmic
Problem ist, dass ich PHP nicht aus dem Effeff kann und daher mir weder sicher bin, ob der Code so passt (hab da ein Bsp aus dem Netz adaptiert), oder schon das XML Kommando nicht passt... Obwohl XML passen sollte.
Gibts vielleich ein Tool (hab keines gefunden) mit dem ich mich einfach auf die IP und Port der CCU verbinden kann, und beliebige XML-Kommandos schicken kann? Dann kann ich den Fehler eingrenzen.
mfg
quickmic
Re: XML-RPC Interface-Beschreibung
Hallo quickmic,
ich schreibe gerade eine sehr umfangreiche bebilderte Beschreibung zum Thema "XML-RPC" über VB.NET.
In diesem Zusammenhang habe ich mir so ein Tool selber programmiert. Ganz klein, ganz einfach.
Mit diesem Tool kann man die XML-Literale so zu sagen per Hand über HTTP versenden und sich die Antwort der CCU ansehen.
Diese Beschreibung ist noch in der "Mache". Ich könnte dir aber das Tool schon geben.
Bis dann
Martin
ich schreibe gerade eine sehr umfangreiche bebilderte Beschreibung zum Thema "XML-RPC" über VB.NET.
In diesem Zusammenhang habe ich mir so ein Tool selber programmiert. Ganz klein, ganz einfach.
Mit diesem Tool kann man die XML-Literale so zu sagen per Hand über HTTP versenden und sich die Antwort der CCU ansehen.
Diese Beschreibung ist noch in der "Mache". Ich könnte dir aber das Tool schon geben.
Bis dann
Martin
Re: XML-RPC Interface-Beschreibung
Hallo quickmic,
du brauchst aber NET-Framework 4.0!!!!
Bis dann
Martin
[EDIT] Programm muss überarbeitet werden [/EDIT]
du brauchst aber NET-Framework 4.0!!!!
Bis dann
Martin
[EDIT] Programm muss überarbeitet werden [/EDIT]
Zuletzt geändert von Schablone am 02.02.2011, 23:22, insgesamt 1-mal geändert.
-
- Beiträge: 518
- Registriert: 20.01.2011, 14:39
- Hat sich bedankt: 5 Mal
- Danksagung erhalten: 4 Mal
Re: XML-RPC Interface-Beschreibung
Hab mein Kommando geschickt. Klappt auf Anhieb. Jetzt weiss ich, dass mein PHP-Code einen Fehler hat.
Werde also weitersuchen...
Eins noch... Wenn man einen falschen Port bzw. IP einstellt, schmiert dein Tool ab. Das solltest du besser abfangen.
Werde also weitersuchen...
Eins noch... Wenn man einen falschen Port bzw. IP einstellt, schmiert dein Tool ab. Das solltest du besser abfangen.
-
- Beiträge: 518
- Registriert: 20.01.2011, 14:39
- Hat sich bedankt: 5 Mal
- Danksagung erhalten: 4 Mal
Re: XML-RPC Interface-Beschreibung
Und nochmal....
Hab den Fehler nun gefunden.....Der Code muss ca so auschauen:
Das ist natürlich nur hingepfuscht, aber klappt prinzipiell. Wenn Ich den Code aufgerümt habe, poste ich nochmal.
Hab den Fehler nun gefunden.....Der Code muss ca so auschauen:
Code: Alles auswählen
<html>
<head>
</head>
</body>
</html>
<?php
function PostToHost($host, $path, $referer, $data_to_send) {
$fp = fsockopen("192.168.0.10", 2000);
printf("Open!\n");
fputs($fp, "POST $path HTTP/1.1\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "Referer: $referer\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($data_to_send) ."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data_to_send);
printf("Sent!\n");
while(!feof($fp)) {
$res .= fgets($fp, 128);
}
printf("Done!\n");
fclose($fp);
return $res;
}
$data = "pid=14&poll_vote_number=2";
printf("Go!\n");
$x = PostToHost(
"www.linux.com",
"/polls/index.phtml",
"http://www.linux.com/polls/index.phtml?pid=14",
$data
);
$request = '
<?xml version="1.0"?>
<methodCall>
<methodName>setValue</methodName>
<params>
<param><value><string>HEQ0228540:3</string></value></param>
<param><value><string>STATE</string></value></param>
<param><value><boolean>0</boolean></value></param>
</params>
</methodCall>
';
PostToHost("192.168.0.10", "", $referer, $request);
echo "fertig";
?>
Das ist natürlich nur hingepfuscht, aber klappt prinzipiell. Wenn Ich den Code aufgerümt habe, poste ich nochmal.
Re: XML-RPC Interface-Beschreibung
quickmic hat geschrieben:Eins noch... Wenn man einen falschen Port bzw. IP einstellt, schmiert dein Tool ab. Das solltest du besser abfangen.
Besten Dank, werde ich machen.
-
- Beiträge: 518
- Registriert: 20.01.2011, 14:39
- Hat sich bedankt: 5 Mal
- Danksagung erhalten: 4 Mal
Re: XML-RPC Interface-Beschreibung
Kurze Frage bevor ich lange suche... Wie kann ich ein Script, dass es schon auf der CCU gibt, per RPC einmalig ausführen?
Ich vermute ich muss Port 2002 nehmen, und dann hab ich nur kurz mit "setvalue" getestet, was aber nicht stimmen wird.
Weiss jemand auf die schnelle wie das XML-Kommandos aussehen muss?
mfg
quickmic
Ich vermute ich muss Port 2002 nehmen, und dann hab ich nur kurz mit "setvalue" getestet, was aber nicht stimmen wird.
Weiss jemand auf die schnelle wie das XML-Kommandos aussehen muss?
mfg
quickmic