2010-08-13 3 views
0

Мне нужно автоматизировать процесс входа в widsite. После того, как я натолкнулся на какое-то время, я написал этот код. Но проблема в том, что после запуска этого кода нет ошибок, нет вывода. Я не могу знать, где я ошибся.Отправить форму html через форму окна

private void Form1_Load(object sender, EventArgs e) 

     { 
      WebBrowser browser = new WebBrowser(); 
      string target = "http://authcisco/auth.html"; 
      browser.Navigate(target); 
      browser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(Credentials); 
} 
private void Credentials(object sender, WebBrowserDocumentCompletedEventArgs e) 

     { 
      WebBrowser b = (WebBrowser)sender; 
      b.Document.GetElementById("userName").SetAttribute("value", "shyam"); 
      b.Document.GetElementById("pass").SetAttribute("value", "shyam"); 
      b.Document.GetElementById("Submit").InvokeMember("click"); 

     } 

Thank you.

ответ

1

Я бы сказал, что вместо автоматизации экземпляра браузера будет проще использовать HttpWebRequest.

HttpWebRequest wr = (HttpWebRequest)WebRequest.Create("http://authcisco/auth.html"); 
wr.Method = "POST"; 
wr.ContentType = "application/x-www-form-urlencoded"; 
string content = string.Format("userName={0}&pass={1}", HttpUtility.UrlEncode(Username), HttpUtility.UrlEncode(Password)); 
byte[] data = System.Text.Encoding.ASCII.GetBytes(content); 
wr.ContentLength = data.Length; 
wr.GetRequestStream().Write(data, 0, data.Length); 
+0

Я не могу получить ссылку на HttpUtility. – Gokul

+0

Вам не понадобится это в вашем конкретном случае; в любом случае он содержится в сборке System.Web, который обычно не добавляется по умолчанию. – Joey