silicon Geschrieben 8. Juni 2004 Geschrieben 8. Juni 2004 Hi, ich muss in einem C-File auf der Kommandozeile das Programm CuRL mit ein paar Parametern aufrufen. zu fÃnden bei mir aufn Server unter /usr/local/curl -D ...... das ganze gibt mir einen xml-string zurück, den ich weiterverarbeiten muss. ich weiss nicht welche funktion wie fork() oder exec() auch eine rückgabe haben. um schnelle hilfe würd ich mich freuen. cheers, dany Zitieren
Guybrush Threepwood Geschrieben 8. Juni 2004 Geschrieben 8. Juni 2004 erm wie bitte soll das funktionieren? Anwendungen können nur einen integer zurückgeben welcher ihren Endstatus angeben soll. Ich kenne das Programm "curl" nicht aber bin mir zu 99,9% sicher das es keinen String zurückgeben kann. Zitieren
nic_power Geschrieben 8. Juni 2004 Geschrieben 8. Juni 2004 Hallo, Ich habe das so verstanden, dass die Ausgabe des Child-Prozesses vom Vater-Prozess weiter verarbeitet werden soll (nicht zu verwechseln mit den Rückgabewerten, die beispielsweise durch wait() & friends ausgewertet werden können). Dazu wird eine Verbindung zwischen Vater und Kind-Prozess erzeugt (pipe()) und die Filedescriptoren werden mit hilfe von dup2() entsprechend umgebogen. @silicon: Ich habe jetzt leider auf die Schnelle kein einfaches Beispiel zu Hand, aber schau Dir mal die folgenden Links an: http://jan.netcomp.monash.edu.au/OS/l9_1.html http://www.erack.de/download/pipe-fork.c http://www.cs.uleth.ca/~holzmann/C/system/pipeforkexec.html Bei Bedarf kann ich Dir auch noch ein Beispiel raussuchen (ginge aber erst heute abend/morgen früh). Nic Zitieren
silicon Geschrieben 8. Juni 2004 Autor Geschrieben 8. Juni 2004 @guy: doch! /usr/local/curl -d "...." setzt einen HTTPS-REQUEST ab, von dem ich als Rückgabe einen XML-String bekomme, auf jedenfall wird er direkt auf der Shell ausgegeben. @nic: danke, ich werd die links mal abchecken. cheers, dany Zitieren
Guybrush Threepwood Geschrieben 8. Juni 2004 Geschrieben 8. Juni 2004 Das heißt nicht das er vom Programm zurückgegeben wird, sondern das es das Ergebnis einfach ausgiebt Die Links von nic könnten dir aber evtl. trotzdem weiterhelfen. Zitieren
silicon Geschrieben 8. Juni 2004 Autor Geschrieben 8. Juni 2004 hm, wie auch immer... ich bin kurz vorm ausflippen, hab das alles so schön in php gecodet und jetzt muss ich den rotz in c schreiben ****** vielen dank bisher, aber das wird noch richtig hardcore wie ich sehe. das ist alles so mega kompliziert. @nic_power: ja das sieht schon mal ganz gut aus, curl -d setzt nen https-request ab und hat als ausgabe einen xmlstring zb. <payment> <resultcode>00</resultcode> <statusdescription>19</statusdescription> </payment> brauche dann wohl auch noch einen xml-parser oder? :floet: cheers, silicon Zitieren
nic_power Geschrieben 8. Juni 2004 Geschrieben 8. Juni 2004 Hallo, brauche dann wohl auch noch einen xml-parser oder? :floet: Ja, sofern Du die Daten innerhalb Deines C-Programms auswerten möchtest, läßt sich das wohl nicht vermeiden. Je nach Struktur der Ausgaben und dem Verwendungszweck, musst Du aber nicht unbedingt einen kompletten Parser implementieren. Bist Du auf C angewiesen, oder kommen auch noch andere Alternativen in Frage? Nic Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.