C# Melden Sie sich im Xenforo -Forum mit WebRequests an?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 C# Melden Sie sich im Xenforo -Forum mit WebRequests an?

Post by Anonymous »

Ich versuche, mich in C# in einem Xenforo -Forum anzumelden, aber ich kann es einfach nicht richtig dazu bringen, richtig zu funktionieren, sodass jede Hilfe sehr geschätzt wird. < /p>

Ich habe Fiddler verwendet, um die Postdaten zu erhalten, die beim Anmelden gesendet wurden, und dies sind die Roh Post -Daten, die ich habe ... < /p>

POST http://www.----------.com/login/login HTTP/1.1
Host: www.----------.com
Connection: keep-alive
Content-Length: 109
Cache-Control: max-age=0
Origin: http://www.----------.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Referer: http://www.----------.com/login/login
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: xf_session=0c4e132b44ce81bdf93e70c57fe17eb6; __cfduid=d43498195638b2afe52ebaa9e1f97b8b31342586809; __cfduid=d43498195638b2afe52ebaa9e1f97b8b31342586809

login=USERNAME&register=0&password=PASSWORD&remember=1&cookie_check=1&redirect=forum%2F&_xfToken=
< /code>

Danach habe ich ein WebRequest erstellt, um dies zu replizieren, und das habe ich derzeit ... < /p>

private void button1_Click(object sender, EventArgs e)
{
try
{
HttpWebRequest http = WebRequest.Create("http://www.----------.com/login/login") as HttpWebRequest;
http.KeepAlive = true;
http.Method = "POST";
http.AllowAutoRedirect = true;
http.ContentType = "application/x-www-form-urlencoded";
string postData="login=" + usernameBox.Text + "&register=0&password=" + passwordBox.Text + "&remember=1&cookie_check=1&redirect=forum%2F&_xfToken=";
byte[] dataBytes = UTF8Encoding.UTF8.GetBytes(postData);
http.ContentLength = dataBytes.Length;
using (Stream postStream = http.GetRequestStream())
{
postStream.Write(dataBytes, 0, dataBytes.Length);
}
HttpWebResponse httpResponse = http.GetResponse() as HttpWebResponse;
int y = (int)httpResponse.StatusCode;
MessageBox.Show(Convert.ToString(y), "Response Code Debug");
foreach(Cookie c in httpResponse.Cookies)
{
MessageBox.Show(c.Name + " = " + c.Value, "Cookie Debug");
}
http = WebRequest.Create("http://www.----------.com/forum") as HttpWebRequest;
http.CookieContainer = new CookieContainer();
http.CookieContainer.Add(httpResponse.Cookies);
http.AllowAutoRedirect=false;
HttpWebResponse httpResponse2 = http.GetResponse() as HttpWebResponse;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Catch Debug");
try
{
Clipboard.SetText(ex.Message);
}
catch
{
}
}
< /code>

ignorieren Sie einfach einige davon, ich habe MessageBoxen verwendet, um herauszufinden, was mit der Anfrage genauer los war, aber es hat leider nicht viel geholfen. Ich arbeite zum ersten Mal mit WebRequests, also entschuldige ich mich, wenn es nur eine Art dummen Fehler ist. < /p>

Ich muss nur herausfinden, ob das Login erfolgreich war oder nicht. Auch wenn Sie eine Xenforo -Site benötigen, um nur http://www.shadygamer.com zu verwenden. Vor zuvor gesagt wird jede Hilfe geschätzt. Danke schön. :)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post