2015-12-28 1 views
0

Je veux me connecter à ce site en utilisant C#: Voici ma tentative, mais il m'envoie à la première page. Pas moi de revenir à la page suivante, qui devrait être visible après la connexion, s'il vous plaît aidez-moi à résoudre ceci:comment se connecter au programme par programmation en utilisant C#

string formParams = 
string.Format("mail={0}&password={1}", [email protected]", "admin"); 
     string cookieHeader; 
     WebRequest req = WebRequest.Create("http://muslimgowns.com/dashboard/login/public_login"); 
      req.ContentType = "application/x-www-form-urlencoded"; 
      req.Method = "POST"; 
      byte[] bytes = Encoding.ASCII.GetBytes(formParams); 
      req.ContentLength = bytes.Length; 
      using (Stream os = req.GetRequestStream()) 
      { 
       os.Write(bytes, 0, bytes.Length); 
      } 
      WebResponse resp = req.GetResponse(); 
      cookieHeader = resp.Headers["Set-cookie"]; 
      using (StreamReader sr = new StreamReader(resp.GetResponseStream())) 
      { 
       string pageSource = sr.ReadToEnd(); 
       File.AppendAllText("first.txt", pageSource); 
      } 

      string pageSource1; 
      string getUrl = "http://muslimgowns.com/dashboard/home"; 
      WebRequest getRequest = WebRequest.Create(getUrl); 
      getRequest.Headers.Add("Cookie", cookieHeader); 
      WebResponse getResponse = getRequest.GetResponse(); 
      using (StreamReader sr = new StreamReader(getResponse.GetResponseStream())) 
      { 
       pageSource1 = sr.ReadToEnd(); 
       File.AppendAllText("second.txt", pageSource1); 
      } 
     } 
+0

S'il vous plaît être un peu plus précis en posant des questions. Qu'avez-vous essayé? Jetez un oeil à http://stackoverflow.com/help/how-to-ask –

+0

la façon générique de le faire (le plus général est de dire) est de faire une requête http programmatique avec les données de connexion et de garder l'état dans votre script (cookies, etc.) afin que la session soit maintenue et que le script soit comme un utilisateur connecté. cependant cela dépend de ce que vous voulez faire et comment le site est accessible –

+0

D'accord, voici mon code mais il m'envoie à la première page. Ne me renvoie pas la page suivante, qui devrait être visible après la connexion: –

Répondre

4

Vous pouvez utiliser Sélénium WebDriver pour automatiser le processus de connexion ou tout autre procédé pour cette question. http://www.seleniumhq.org/

L'idée de base est de: 1. Inclure Sélénium WebDriver dans votre projet C# 2. Aller à www.fastundercar.com

driver.Url = "http://www.fastundercar.com"; 
  1. Trouver les champs Nom d'utilisateur, Mot de passe et le bouton Envoyer (par ID, nom ou classe)

    Nom d'utilisateur IWebElement = driver.FindElement (By.Name ("ULogin $ txtUserName"));

  2. Valeurs de consigne pour les champs nom d'utilisateur et mot de passe

  3. Soumettre le bouton -

    driver.findElement (By.id ("soumettre")) cliquez sur().

Vérifiez le lien ci-dessous pour référence: http://www.seleniumhq.org/docs/03_webdriver.jsp

+0

Firefox a un joli FireBug Add-on avec un FirePath Add-on-add-on. Cela vous permet de trouver facilement les ids/xpaths des objets de la page. – KDecker