Laden...

Login auf eine 'Form' seite und cookie speichern...

Erstellt von Nachtwind vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.291 Views
N
Nachtwind Themenstarter:in
118 Beiträge seit 2005
vor 15 Jahren
Login auf eine 'Form' seite und cookie speichern...

Hi!

Ich versuche gerade irgendwie mich auf einer website einzuloggen um dann die darauf folgende Seite speichern zu koennen (grob gesagt..).
Zum Login ist folgendes Form auf der Seite vorhanden:

[php]<form action="index.php?page=login&mode=results_r" method="post" name="f">
<table>
<tr>
<td>Username:</td>
<td><input type="text" maxlength="20" size="20" name="userSearch" value=""></td>
</tr><tr>
<td>Password:</td>
<td><input type="password" maxlength="10" size="15" name="passSearch"></td>
</tr>
</table>
<input type="submit" name="submitLogin" value="Login">
</form>[/php]

An sich sollte es ja nicht schwer sein mittels Cookiecontainer und derartigen sachen das vorhaben zu schaffen.. aber irgendwie klappt das bei mir nicht..
Im folgenden mein Code zum Download der folgeseite:


           Uri uri = new Uri("http://www.paldat.org/");
            CookieContainer cookieContainer = new CookieContainer();
            string html;
            string loginData = "userSearch=Nachtwind&passSearch=abcde&submitLogin=Login";

            HttpWebRequest sessionRequest = (HttpWebRequest)WebRequest.Create(uri);
            sessionRequest.CookieContainer = new CookieContainer();
            cookies = sessionRequest.CookieContainer;
            HttpWebResponse sessionResponse = (HttpWebResponse)sessionRequest.GetResponse();
            sessionResponse.Close(); 

          // rtf1.Text += cookies.GetCookieHeader(uri) + "\n";

            // Einloggen
            HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://www.paldat.org/index.php?page=login&mode=alp_r"); //mode=alp_r = index
            req.CookieContainer = cookies;
            req.Method = "POST";
            req.ContentType = "application/x-www-form-urlencoded";
            ASCIIEncoding encoding = new ASCIIEncoding();
            byte[] loginDataBytes = encoding.GetBytes(loginData);
            req.ContentLength = loginDataBytes.Length;
            Stream stream = req.GetRequestStream();
            stream.Write(loginDataBytes, 0, loginDataBytes.Length);
            stream.Close();
            HttpWebResponse res = (HttpWebResponse)req.GetResponse();

            req = (HttpWebRequest)HttpWebRequest.Create("http://www.paldat.org/index.php?page=login&mode=alp_r");
            req.CookieContainer = cookies;
            req.Method = "GET";
            res = (HttpWebResponse)req.GetResponse();
            StreamReader sr = new StreamReader(res.GetResponseStream());
            html = sr.ReadToEnd();

            rtf1.Text = html;
            //MessageBox.Show(html);

hat jemand eine Idee, was ich da falsch mache?

1.433 Beiträge seit 2006
vor 15 Jahren

Vielleicht hilft Dir dieser Beitrag weiter.

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt

N
Nachtwind Themenstarter:in
118 Beiträge seit 2005
vor 15 Jahren

Nicht direkt - es ist eigentlich genau das gegenteil von dem, was ich wollte o0