2013-10-14 2 views
0

J'essaie de me connecter au site Web (exemple: https://www.facebook.com/login.php?login_attempt=1) en utilisant httpwebrequest par POST. Mais ce n'est pas le résultat du retour après la connexion.Je ne peux pas me connecter au site Web en utilisant httpwebrequest

Je ne sais pas quel est le problème avec mon code, pouvez-vous m'aider? Merci beaucoup!

Ceci est mon code:

 private void Button_Click_1(object sender, RoutedEventArgs e) 
    { 
     System.Uri myUri = new System.Uri("https://www.facebook.com/login.php?login_attempt=1"); 
     HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create(myUri); 
     myRequest.Method = "POST"; 
     myRequest.ContentType = "application/x-www-form-urlencoded"; 
     myRequest.BeginGetRequestStream(new AsyncCallback(GetRequestStreamCallback), myRequest); 

    } 

    void GetRequestStreamCallback(IAsyncResult callbackResult) 
    { 
      HttpWebRequest myRequest = (HttpWebRequest)callbackResult.AsyncState; 
      // End the stream request operation 
      Stream postStream = myRequest.EndGetRequestStream(callbackResult); 
      StringBuilder postData = new StringBuilder(); 
      postData.Append("email=myEmail"); 
      postData.Append("&password=myPassword"); 
      byte[] byteArray = Encoding.UTF8.GetBytes(postData.ToString()); 
      postStream.Write(byteArray, 0, postData.Length); 
      postStream.Close(); 
      myRequest.BeginGetResponse(new AsyncCallback(GetResponsetStreamCallback), myRequest); 
    } 
    void GetResponsetStreamCallback(IAsyncResult callbackResult) 
    { 
      HttpWebRequest request = (HttpWebRequest)callbackResult.AsyncState; 
      HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(callbackResult); 
      using (StreamReader httpWebStreamReader = new StreamReader(response.GetResponseStream())) 
      { 
       string result = httpWebStreamReader.ReadToEnd(); 
       //For debug: show results 
       Deployment.Current.Dispatcher.BeginInvoke(() => 
       { 
        // something do 
       }); 
      } 

    } 
+0

Alors, que retourne-t-il? Dans quelle méthode? Les trois méthodes sont-elles touchées? Est-ce que votre débogueur a dit? –

+0

C'était la page de retour de connexion (donc pas de connexion). Je ne trouve pas d'erreur, essentiellement l'échantillon copié de http://transoceanic.blogspot.com/2011/09/wp7-sending-post-data-and-receive. html –

Répondre

0

Je venais d'un coup d'œil: les champs de l » entrée https://www.facebook.com/login.php sont nommés "email" et "pass"(pas "mot de passe"). Untested: Changement

postData.Append("&password=myPassword"); 

à

postData.Append("&pass=myPassword"); 

Même si cela fonctionne, je doute que vous obtenez beaucoup plus loin avec tout ce que vous avez l'intention de le faire. Je recommande d'utiliser l'un des SDK Facebook.

+0

Ceci est un exemple pour mon projet, j'utilise localhost pour mon application: http: //localhost/moodle/login/index.php Et les champs de saisie sont nommés "nom d'utilisateur" et "mot de passe", mais il n'est toujours pas exécuté. J'essaye pour plus d'addrees mais pas de succès. Aidez-moi, s'il vous plaît! –

+0

Votre code dans la première publication demande Facebook. S'il demande à la place un service sur votre ordinateur, vous devez déboguer ce service pour savoir pourquoi la connexion échoue. –

Questions connexes