myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Ungelesen 24.01.16, 14:00   #1
Beyaz
Newbie
 
Registriert seit: May 2008
Beiträge: 69
Bedankt: 3
Beyaz ist noch neu hier! | 0 Respekt Punkte
Standard c# httpwebrequest facebook login

hallo,

ich versteh nicht wieso der code unten nicht funktioniert..bekomme von face ständig die meldung "cookies deaktiviert" und ich soll die aktiveren ..aber ich hab ja nen cookieContainer..

bedanke mich schon im voraus.



Code:
            string getUrl = "https://www.facebook.com";

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(getUrl);

            request.CookieContainer = cc;
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();

            string getUrl2 = "https://www.facebook.com/login.php?login_attempt=1";
            string postData = String.Format("email={0}&pass={1}", "", "");

            HttpWebRequest getRequest = (HttpWebRequest)WebRequest.Create(getUrl2);
            getRequest.CookieContainer = cc;

            getRequest.Method = WebRequestMethods.Http.Post;
            getRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.0; uk; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)";
            getRequest.AllowWriteStreamBuffering = true;
            getRequest.ProtocolVersion = HttpVersion.Version11;
            getRequest.AllowAutoRedirect = true;
            getRequest.ContentType = "application/x-www-form-urlencoded";

            byte[] byteArray = Encoding.ASCII.GetBytes(postData);
            getRequest.ContentLength = byteArray.Length;
            Stream newStream = getRequest.GetRequestStream();
            newStream.Write(byteArray, 0, byteArray.Length);
            newStream.Close();

            HttpWebResponse getResponse = (HttpWebResponse)getRequest.GetResponse();
            
            using (StreamReader sr = new StreamReader(getResponse.GetResponseStream()))
            {
                string sourceCode = sr.ReadToEnd();

                using (StreamWriter sw = new StreamWriter(System.IO.Directory.GetCurrentDirectory() + @"\index.html", true))
                {
                    sw.WriteLine(sourceCode);
                }

                MessageBox.Show("o");
            }
Beyaz ist offline   Mit Zitat antworten
Ungelesen 24.01.16, 20:40   #2
neffinator
Geschmack hadda
 
Registriert seit: Nov 2010
Beiträge: 83
Bedankt: 56
neffinator ist noch neu hier! | 0 Respekt Punkte
Standard

1. kannst du den code nicht etwas refactoren? die variablennamen sind schrecklich und es ist schwer dem code zu folgen
2. warum nutzt du nicht die fb graph api?
3. benutz mal die developer toolbar oder postman und probier das mal manuell dann siehst du auch genau,was du wie wo brauchst
4. auf den ersten blick tippe ich darauf, dass du die respone von fb nicht vernuenftig gespeichert werden kann (die php_session_id ist dabei wichtig)
neffinator ist offline   Mit Zitat antworten
Ungelesen 26.01.16, 23:55   #3
DMDTT
Anfänger
 
Registriert seit: Feb 2010
Beiträge: 1
Bedankt: 0
DMDTT ist noch neu hier! | 0 Respekt Punkte
Standard

mir stellt sich grundsätzlich die frage, warum du das so machen willst?
meines erachtens nach ist diese login routine von fb nicht dazu gedacht sie so zu benutzen, wie du es tust...es gibt fixe apis, welche ansprechbar sind...
grundsätzlich sollte es aber denke ich möglich sein, firebug, fiddler, postman, etc sollten dir helfen die requests, welche dein browser absendet nachzustellen,

in welchem kontext benutzt du die login routine? Microsoft.Owin bietet eine Facebook Routine Standardmäßig an
DMDTT ist offline   Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:51 Uhr.


Sitemap

().