Internet - CHttpFile und CHttpConnection?



  • Hallo,
    ich hab da mal n Problem:
    Wie kann ich mittels der oben genannten Klassen ein Formular im Internet bestücken und abschicken?
    Wie ich Html-Daten hole weiß ich ja:

    CInternetSession session;
        CHttpConnection *pConnect = session.GetHttpConnection( m_strServer);
        CHttpFile *file = pConnect->OpenRequest( 1, m_strSite);   
        file->SendRequest();
    
        char ch[1025];
        CString strHtml;
        while( file->Read( ch, 1024))
        {
            strHtml += ch;
        }
    

    Die 1 bei OpenRequest bedeutet GET, eine 0 soll laut MSDN POST bedeuten. Mir ist nur nicht so ganz klar wie ich die Parameter bzw. die Formulardaten füllen und übergeben soll.
    Und wie geht das mit Formularfelder, die als hidden markiert sind?
    (BTW: in HTML bin ich noch nicht besonderlich fit)

    😕 😕 😕
    Fragen über Fragen. Ich hoffe auf eine Antwort.



  • das ist eigentlich ganz simpel. Nehmen wir als Beispiel das Loginscript von DarkGalaxy. Der Quelltext zu dem Formular sieht folgendermassen aus:

    <form method=POST action="/overview.html">
    <input type="hidden" name="command" value="login">
    <input type="hidden" name="access" value="0">
    <table width=100%>
    <tr>
    <td class="text">Username</td><td><input class="text" name="username" type="text" size="16" value="" tabindex=1></td>
    <td valign=top rowspan=4 width=100%>
    <center>
    Forgotten or lost<br>
    your password?<br>
    <a href="http://www.darkgalaxy.com/signup.php?action=lostpass">Click here</a>
    </center>
    </td>
    </tr>
    <tr><td class="text">Password</td><td><input class="text" name="password" type="password" size="16" tabindex=2></td></tr>
    <tr><td colspan="2"><img src="/images/spacer.gif" width="1" height="2"></td></tr>
    <tr><td align="right"><input class="smbutton" name="submit" type="submit" value="Login" tabindex=3></td><td></td></tr>
    </table>
    </form>

    Als zu senden String musst du dann einfach nur die Parameter zusammenfügen. Im Beispiel wird daraus dann also:
    /overview.html?command=login&access=0&password=deinpasswort&username=deinusername

    Ganz simpel 🙂



  • Solche Zufallszahlen wie bei DG das Feld "access" müsste ich mir aber vorher noch besorgen, oder? Also die Seite einmal mit GET holen, die Zahl rausparsen und danach erst das POST.
    Die Seite kann ich nach dem SendRequest wie bei GET mit Read gleich auslesen? Oder muss ich dann vorher nochmal getten?

    Komisch, dass du gerade Darkgalaxy als Beispiel nimmst. 😃



  • access ist doch 0 ...
    es reicht ein einfaches GET, dann kannst du direkt die Startseite deines accounts auslesen


Anmelden zum Antworten