Http Abfrage via Winsock :=)



  • Guten Morgen, ich habe ein kleines Problem, ich code ein Programm in c, welches später einmal:
    http.exe ip /dir/

    aufgerufen werden soll, der sinn dieses Programmes ist evtl. nicht jedem verständlich, aber das macht nichts xD.
    Mein Problem liegt dabei den befehl GET /dir/ zu senden:

    char *string;
        int string_len; 
    ..... /* gekürzt */
      string = argv[2];  
        /* Länge der Eingabe */  
        string_len = strlen(string); 
        /* senden plus nullbytestrings terminieren*/ 
        if (send(sock, string, string_len, 0) != echo_len)
    

    Das ist mein code in gekürzter version
    String ist das: /dir/
    als argv[2] definiert, mein problem ist nun, fuer http muss ich noch ein GET oder POST davor setzen, mit leerzeichen. und hinten noch an das /dir/ index.php ransetzten ohne leerzeichen, so das eine http abfrage bei dem aufrufen des programms wie folgend wäre:
    http.exe 127.0.0.1 /test/

    (und an meinen http server sollte einfach)
    GET /test/index.php

    Ich habe versucht in: string = argv[2]; noch was rein zusetzen woran ich aber leider kläglich gescheitert bin 😞

    SO habe ich es versucht:
    string = "GET" + argv[2] + "index.php";

    Nunja wichtig ist das zwischen GET und dem argv[2] dann ein leerzeichen ist, da sonst ja die http abfrage verpfuscht wird.

    Hoffentlich könnt ihr mir Helfen.

    Mit freundlichen Grüßen Jan K.



  • Hi,
    hier ist ne Referenz von string, dort steht alles was man mit strings machen kann.

    http://www.cplusplus.com/reference/string/string/

    Ich würde einen iterator erstellen der dahin zeigt wo du deine Zeichen haben willst und dann ein insert...

    Ich hoffe es hilft 😉



  • Oder einfach

    std::string s = "GET " + path + "index.php";
    

    oder Ähnliches.


Anmelden zum Antworten