我搜索了所有谷歌,我似乎无法找到这样做的方法,当它看起来如此简单!我只有一个网页上的文本框,并给出文本框ID我想在其中写入一个值,然后按一个按钮。到目前为止我有:
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方法应该包含什么,我假设返回一些某种名称值集合的字符串......
答案 0 :(得分:2)
postData
应该包含服务器期望的POST数据字符串。您可以下载Tamper Data,它可以让您查看服务器的期望。您获取这些变量(和值)并将它们与&
一起追加,这将是您的postData
字符串。
一个例子是:
服务器期望UserName
和Password
作为POST数据。你的字符串看起来像......
string postData = string.Format("UserName={0}&Password={1}", "someUserName", "somePassword");
答案 1 :(得分:0)
如果你使用Watin和Watin Test Recorder,你可以自动实现它,然后抓住C#输出的脚本作为参考