CHtmlView navigate() POST Request auslösen



  • Hallo,

    kann mir jemand sagen, wie ich mit der Methode navigate() bzw. navigate2() einen POST Request machen kann? Ich habe es so versucht:

    Navigate(url, navNoWriteToCache | navNoHistory, NULL, NULL, "wert1=hallo&wert2=welt", 23);
    

    Das klappt aber nicht. Wie muss ich den String übergeben?

    Danke und Grüße
    Dirk



  • indem du deine daten nicht GET mässig in die url packst sondern Navigate oder Navigate2 beim entsprechenden postdata parameter mitgibst ?



  • 🙄 Soweit war ich auch schon, nur wie übergebe ich die daten beim entsprechenden Parameter? Ein Beispiel wie ich es versucht habe ist oben zu sehen, das hat aber nicht geklappt. Wie ist die Formatierung für die Post-Parameter?



  • hast recht, hab ich übersehn
    sorry

    machmal an deine post daten nochn "\r\n" hinten drann

    weil

    char *data = "search=microsoft.de&submit=Suchen\r\n";
    Navigate("http://www.iks-jena.de/cgi-bin/whois", 0, NULL, NULL, data, strlen(data));

    funktioniert ansich ganz gut



  • Danke für den Hinweis. Generell klappt es nun, dass ich per POST verschicken kann. Leider nimmt mein selbstgeschriebenes PHP-Script die Dinge nicht an. Die Varibablen sind einfach nicht da. Muss ich irgendwas beim Header mitschicken, damit der Server die Variablen bekommt?



  • Noch eine kurze Frage: weiss jemand, wie man das "Rechte Maustaste Popupmenü" im CHtmlView ausschalten kann?

    Danke und Grüße
    Dirk



  • Bei mir kommt da folgender Fehler:

    :\Programme\Microsoft Visual Studio\MyProjects\Server Management\Server ManagementDlg.cpp(346) : error C2664: 'Navigate' : Konvertierung des Parameters 4 von 'char *' in 'struct tagVARIANT *' nicht moeglich
            Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
    

    Hier mein Code:

    void CServerManagementDlg::Login() 
    {
    	char* data="gmx_id=email@addresse&gmx_pw=passwort";//nur als beispiel mal mit gmx
    	ctlBrowser.Navigate("http://service.gmx.net/de/cgi/login",NULL,NULL,data,strlen(data));
    
    }
    

    Edit: Ich benutze allerdings dieses CWebBrower2 Plugin(ActiveX?)


Anmelden zum Antworten