发布到网页文本框

时间:2009-12-22 15:44:33

标签: c#

我搜索了所有谷歌,我似乎无法找到这样做的方法,当它看起来如此简单!我只有一个网页上的文本框,并给出文本框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方法应该包含什么,我假设返回一些某种名称值集合的字符串......

2 个答案:

答案 0 :(得分:2)

postData应该包含服务器期望的POST数据字符串。您可以下载Tamper Data,它可以让您查看服务器的期望。您获取这些变量(和值)并将它们与&一起追加,这将是您的postData字符串。

一个例子是:

服务器期望UserNamePassword作为POST数据。你的字符串看起来像......

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

答案 1 :(得分:0)

如果你使用Watin和Watin Test Recorder,你可以自动实现它,然后抓住C#输出的脚本作为参考