Hi,
ich versuche mich bei Facebook einzuloggen mit Webrequest. Leider funktioniert das nicht und ich bekomme die meldung vom server, dass ich meine cookies im browser aktivieren muss.
Webrequest
Code:
static CookieCollection Cookies = new CookieCollection();
public static string pPost(string URL, string Post)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.UserAgent = "Mozilla/5.0 (Windows; U; WIndows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)";
request.CookieContainer = new CookieContainer();
foreach (Cookie entry in Cookies)
{
request.CookieContainer.Add(entry);
}
request.AllowAutoRedirect = true; //carefully with auto
// Wenn wir request sagen, das wir KEINEN proxy haben, sucht er keinen und die Anfrage geht um einiges schneller
request.Proxy = null;
// Post-Daten definieren und abschicken
string PostData = Post;
byte[] byteArray = Encoding.Default.GetBytes(PostData);
request.ContentLength = byteArray.Length;
Stream DataStream = request.GetRequestStream();
DataStream.Write(byteArray, 0, byteArray.Length);
DataStream.Close();
// Rückgabe holen
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
DataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(DataStream);
string ServerResponse = reader.ReadToEnd();
reader.Close();
DataStream.Close();
foreach (Cookie cook in response.Cookies)
{
Cookies.Add(cook);
}
response.Close();
return ServerResponse;
}
public static string WebRPost(string URL)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
request.Method = "GET";
request.UserAgent = "Mozilla/5.0 (Windows; U; WIndows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)";
request.CookieContainer = new CookieContainer();
foreach (Cookie entry in Cookies)
{
request.CookieContainer.Add(entry);
}
request.AllowAutoRedirect = true; //carefully with auto
request.Proxy = null;
Stream DataStream = default(Stream);
// Rückgabe holen
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
DataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(DataStream);
string ServerResponse = reader.ReadToEnd();
foreach (Cookie cook in response.Cookies)
{
Cookies.Add(cook);
}
reader.Close();
DataStream.Close();
response.Close();
return ServerResponse;
}
Code:
string bla = Connection.pPost("https://www.facebook.com/login.php?login_attempt=1&lwv=110", "lsd=AVq8j7yX&email=***&pass=****&persistent=1&default_persistent=1&timezone=-60&lgndim=eyJ3IjoxOTIwLCJoIjoxMDgwLCJhdyI6MTkyMCwiYWgiOjEwNDAsImMiOjI0fQ%3D%3D&lgnrnd=050652_nFUt&lgnjs=1446206821&locale=de_DE&qsstamp=W1tbMTUsMzcsNjcsOTMsMTA1LDEwOSwxMjEsMTQ0LDE1MiwxNjcsMTc3LDE4MCwxOTIsMjAwLDIwFRrIl0%3D");
Die lsd und lgndim etc müssen ja vorher ausgelesen werden nicht wahr?
Jedoch funktioniert das auch nicht wenn ich die vorher auslese.