2009-12-22 4 views
1

Ive искал все google, и я не могу найти способ сделать это, когда кажется, что это так просто! Все, что у меня есть, - это текстовое поле на веб-странице, и, учитывая идентификатор текстового поля, я хочу записать в него значение и нажать кнопку. До сих пор у меня есть:
Опубликовать на веб-странице текстовое поле

 WebRequest request = WebRequest.Create("http://ps766677/TestWebApplication/Default.aspx"); 
     WebProxy proxy = new WebProxy("455646:8980"); 
     request.Proxy = proxy; 
     request.Credentials = CredentialCache.DefaultNetworkCredentials; 
     request.Proxy.Credentials = CredentialCache.DefaultNetworkCredentials; 
     request.Method = "POST"; 
     request.ContentType = "application/x-www-form-urlencoded"; 
     Stream dataStream = request.GetRequestStream(); 

     string postData = GetData(); 
     byte[] byteArray = Encoding.UTF8.GetBytes(postData); 
     dataStream.Write(byteArray, 0, byteArray.Length); 
     dataStream.Close(); 

     WebResponse response = request.GetResponse(); 
     dataStream = response.GetResponseStream(); 
     StreamReader reader = new StreamReader(dataStream); 
     string responseFromServer = reader.ReadToEnd(); 

Но метод фактического «GetData» теряется на меня! Может ли кто-нибудь сказать мне, что должен содержать метод GetData, im предполагает возврат строки какой-либо коллекции значений имен ...

ответ

2

postData должен содержать строку данных POST, ожидаемую сервером. Вы можете загрузить Tamper Data, и это позволит вам увидеть, что ожидает сервер. Вы берете эти переменные (и значения) и добавляете их вместе с &, и это будет ваша строка postData.

Примером может быть:

Сервер ожидает UserName и Password прийти как данные POST. Ваша строка будет выглядеть ...

string postData = string.Format("UserName={0}&Password={1}", "someUserName", "somePassword"); 
0

Если вы используете Watin и Watin Recorder Test вы могли бы осуществить это автоматически, а затем захватить C# выдаваемого сценарий в качестве ссылки

Смежные вопросы