Versuche HTTP POST Client zu bauen



  • CplusplusUser schrieb:

    im Beispiel das der Programmierer gemacht hat, steht irgendwie etwas anderes als eine INternetadresse, hier schaut mal:

    HttpPOST("127.0.0.1", "/upload.php", params, filenames, response);
    

    Das ist auch eine Internetadresse, nur ist es eben localhost.



  • Ja das kenne ich localhost.
    Wie kann ich den ueberpruefen ob die Funktion jetzt die richtigen Daten an eine PHP Seite sendet, falls die Funktion die PHP Seite beispielweise gar nicht erreicht mueste ja etwas an der Funktion nicht stimmen?



  • Da musst du eben auf localhost einen server aufsetzen der eine Funktion upload.php hat.

    EDIT:
    Oder evtl. einfacher: Hol dir einen kostenlosen account z.B. bei funpic.de und lade da upload.php hoch.



  • Ich habe so ein kostenlosen webserver, aber ich weis im moment noch nicht wie das ablaufen muss, wie muss den die upload.php Datei aussehen? Wie kann ich den testen ob die HTTPPOST Funktion die upload.php Seite erreicht? Wenn ich das schon mal wueste koennte ich Schrittweise austesten ob die HTTPPOST Funktion ueberhaupt die upload.php auf dem Webserver erreicht und wenn das klappt muss ich noch wissen was fuer Daten an sie gesendet wurden und wie ich die Daten auf den Webserver abspeicher.



  • Da fehlt dir wohl noch so einiges an grundlegendem Wissen.
    Vielleicht solltest du die ganze Sache erst mal auf einem niedrigeren Level angehen.
    Nichts für ungut.



  • Das Problem wird sein, dass der Code kein C++ ist. Kann man an so Dingen wie

    string& lplpszAcceptTypes[]
    

    sehen. Es handelt anscheinend sich um etwas, das sich "MetaQuotes Language 4" nennt und lose auf C++ zu basieren scheint, aber das durch einen C++-Compiler schieben zu wollen, dürfte hoffnungslos sein.

    Ich lass mal einen Link auf POCO da, die haben schön einfaches HTTP-Zeug.



  • Ist das ein .... Array von Referenzen?



  • Referenz auf ein Array, wie's aussieht. Wie gesagt, das ist kein C++.



  • Ich weis auch nicht genau welche Programmiersprache das ist, aber ich glaube man muss da nichts mehr kompilieren.

    So wie ich das verstanden habe werden aus der bereits fertigen windows wininet.dll funktionen importiert und dann baustein kasten artig eine HTTPPOST Funktion damit gebaut.

    Die HTTPGET Funktion aus diesem Code dort habe ich ja schon erfolgreich eingesetzt und die HTTPPOST Funktion funktioniert wahrscheinlich genauso irgendwie, ich verstehe im Moment wohl einfach nicht wie ich die Funktion mit Parametern richtig benutzen muss.

    Bei der HTTPGET Funktion aus dem BEispiel dort ist es ja sehr einfach, dort schreibe ich einfach Parameter an die Internetadresse und in der PHP Datei kann ich die Parameter mit $_GET['Parameter'] einfach abfragen, wie das aber mit versenden einer Datei und der dort gebauten HTTPPOST Funktion funktioniert habe ich noch nicht verstanden. Ich weis weder wie die Parameter bei der HTTPPOSt Funktion richtig gesetzt werden muessen noch weis ich wie der PHP Code aussehen muss, damit das alles zusammen funktioniert.



  • CplusplusUser schrieb:

    hi, weist du der code ist nicht von mir, ich habe das aus der seite zu der ich den link auch oben geschrieben habe. Und ich wuerde gerne wissen wie ich das zum laufen bringen kann. Ich bin auch kein C++ Programmierer sondern kann nur die Syntax einigermassen nachlesen.

    Dann nimm wget statt sinnlos mit C++ ner komischen C++-artigen Skriptsprache die keiner kennt oder versteht rumzumachen.
    Oder von mir aus eine der einfacheren Teletubby-Sprachen ala Python.



  • Das Problem ist das ich diese HTTPPOST Funktion aus der MQL Datei heraus benutzen will, weil ich ein Programm schon fertig gebaut habe mit MQL und es aber nicht schaffe die HTTPPOST Funktion richtig ein zu setzen.



  • Und aus MQL kannst du kein File auf die Platte speicher und dann wget.exe rausstarten?

    BTW: zwei Programme (Client+Server) gleichzeitig debuggen, weil man net weiss wo es nun hakt, ist doof.
    Guck erstmal dass der PHP Teil passt. Indem du ein fertiges Utility ala wget verwendest um den POST abzusetzen.
    Und wenn das mal funktioniert, dann widme dich der Client-Seite.



  • Mit MQL kann ich Dateien auf der Platte speichern, aber was wget.exe ist muss ich erst noch nachlesen, das kenne ich noch nicht.

    Eine funktionierende PHP Datei wo ein Forumular ist mit dem man eine Datei vom PC auf den Webserver speichern kann habe ich auch, aber wie das mit dieser HTTPPOST Funktion aus der MQL Datei zusammen funktionieren soll verstehe ich nicht.



  • CplusplusUser schrieb:

    Mit MQL kann ich Dateien auf der Platte speichern, aber was wget.exe ist muss ich erst noch nachlesen, das kenne ich noch nicht.

    wget ist ein Command Line Utility mit dem man HTTP GET, POST, ... Requests abschicken kann. Files runterladen, hochladen -- alles was man über HTTP halt so machen kann. (OK, nicht alles, aber sehr viel.)
    Kommt aus der Unix Welt, gibt aber nen Port für Windows der ohne irgendwelche Cygwin-Sachen oder ähnliches auskommt und auch so problemlos funktioniert.

    Eine funktionierende PHP Datei wo ein Forumular ist mit dem man eine Datei vom PC auf den Webserver speichern kann habe ich auch, aber wie das mit dieser HTTPPOST Funktion aus der MQL Datei zusammen funktionieren soll verstehe ich nicht.

    Wenn ich das richtig verstehe liegt das File das mit nem POST Request mitkommt schon fertig auf der Platte wenn das PHP Skript läuft. Du holst dir dann nur mehr den Pfad aus $_FILES und verschiebst es dort hin wo du es haben willst. Oder machst es halt auch und liest die Daten oder was auch immer.
    Ob der POST Request dabei über ne HTML Form getriggert wurde oder direkt von einem Programm gemacht wird ist dabei egal würde ich sagen.



  • Ist es den moeglich mit dem wget programm eine php seite mit parameter auf zu rufen, beispielweise jede sekunde? Wenn ja kann jemand ein einfaches beispiel zeigen?

    ich koennte beispielweise den Internetlink wo die PHP seite liegt zusammen mit den benoetigten Parametern in eine Textdatei speichern und wenn das wget programm diesen link immer aus der textdatei auslest und ein auruf zu der PHP Seite mit dem Link macht, dann wuerde das meine benoetigte Aufgabe erfuellen.

    Darueber hinaus kann soweit ich das verstanden habe wget auch dateien an mein webserver senden, das waere dann auch noch nuetzlich fuer mein projekt.



  • Probier es doch einfach aus.



  • Ich habe das doch noch nie benutzt, ich wuste nicht mal das es sowas gibt, was schaetzt wie du lange ich brauche bis ich erst mal nur die betriebsanleitung durch lese und dann wie lange es dauert bis ich das zum laufen bekomme, wenn ich das ueberhaupt verstehe und wie lange dauert es wenn jemand der das kennt in 5 Minuten die Loesung sagen kann?



  • CplusplusUser schrieb:

    Ich habe das doch noch nie benutzt, ich wuste nicht mal das es sowas gibt, was schaetzt wie du lange ich brauche bis ich erst mal nur die betriebsanleitung durch lese und dann wie lange es dauert bis ich das zum laufen bekomme, wenn ich das ueberhaupt verstehe und wie lange dauert es wenn jemand der das kennt in 5 Minuten die Loesung sagen kann?

    Entweder du bist ein Troll oder Programmierung ist nicht wirklich dein Ding.



  • Ich freue mich ueber jeden hilfreichen Tipp, falls das mit wget nicht so kompliziert ist. Ich habe nur keine Lust paar Tage wget zu stuedieren wenn schon andere sich damit auskennen und meine Frage auf die schnelle beantworten koennen. Falls niemand Lust dazu hat ist auch kein Problem, ich hoffe man darf ja mal fragen.



  • Also ich weiss es und ich verwende wget regelmässig für sowas, aber werd es dir nicht sagen. Ernsthaft, wenn du selbst bei Dingen, die du in <5min selber rausfinden könntest hier nachfragst, dann hängst du innert kurzer Zeit am nächsten Stolperstein auf und fragst uns wieder. So geht das nicht. Solchen Leuten wird prinzipiell nicht geholfen, die sind ein Fass ohne Boden.

    Einmal fragen ist ok, vielleicht ist ja jemand nett. Aber dann 3x nachfragen würd ich an deiner Stelle bleiben lassen.


Anmelden zum Antworten