400 http bad request



  • gibt der benutzer den request-string in ein eingabefeld ein? wenn ja müsstest du wirklich aus 2 zeichen ein zeichen machen. '\' '\n' => '\n'

    falls es aber im quelltext steht wird es immer nur als 1 zeichen gezählt. auf jeder plattform.



  • also der Benutzer kann es eingeben aber ist dass nicht eigentlich egal weil bei -.- hats doch auch funktioniert



  • klg71 schrieb:

    also der Benutzer kann es eingeben aber ist dass nicht eigentlich egal weil bei -.- hats doch auch funktioniert

    Wie gibt er es denn ein? Wenn du eine Benutzereingabe hast, werden die Zeichen darin natürlich nicht escapet.



  • er gibt es in ein Editfeld ein muessen die Zeichen denn unbedingt escapet werden?



  • klg71 schrieb:

    er gibt es in ein Editfeld ein muessen die Zeichen denn unbedingt escapet werden?

    Ja natürlich! Sonst sendest du mit einem "\n" kein Neue-Zeile-Zeichen, sondern ein Backslash- gefolgt von einem "n"-Zeichen. Das mag der HTTP-Server natürlich garnicht.



  • und wie ändere ich dass ?
    irgendwas mit substr() und replace?



  • klg71 schrieb:

    und wie ändere ich dass ?
    irgendwas mit substr() und replace?

    Ja. Zum Beispiel damit.

    Btw.: Du könntest dir das Programm Wireshark mal anschauen. Da kannst du dir den Netzwerkverkehr ansehen und überprüfen, ob das Programm wirklich das sendet, was du vermutest.



  • also ich habs jetz hinbekommen mein quelltext dazu:

    bool c=0;
                    while(request.npos!=(a=(request.find('\\'))))
                    {
                        if(c)
                        {
                        request.replace(a,1,"\n");
                        c=0;
                        }
                        else
                        {
                        request.replace(a,1,"\r");
                        c=1;
                        }
                        request.erase(a+1,1);
                    }
    

    Das Programm funktioniert jetzt tadellos:D
    Frohes Neues Jahr


Anmelden zum Antworten