如何以编程方式将数据输入ASPX控件

时间:2013-11-26 23:55:32

标签: c# asp.net winforms forms http

在工作中,我的任务是编写一个不断尝试登录我们网页的工具。

我被特别告知不要使用我们的网络服务,而是以用户的身份实际填写页面。

该页面是一个ASPX页面,控件全部在服务器端运行。提交按钮调用服务器端方法,并不像以下那样简单:

  

www.website.com/login.aspx?username=x&password=x。

POST: www.website.com/login.aspx
<login>
    <username>x</username>
    <password>x</password
</login>

我的想法是使用内置在WinForms中的Web浏览器控件,但这似乎不是最好的方式?

我应该怎么做?

注意:这是我们的网站,所以这不需要是通用的,我可以硬编码表单控件的名称。

public bool Login(string url, string username, string password)
{
}

1 个答案:

答案 0 :(得分:0)

我实际上是在2天前使用命令行工具完成的。

我使用了来自.net测试自动化配方的代码,所以我不能在这里发布,但你基本上创建了一个webclient,然后发送假装来自Web浏览器的请求。

事实上,system.net webclient类有一个很好的sample code也可以查看HttpWebRequest Class,这可能会有所帮助

如果你想通过post方法发送内容,请将你的webrequest投射到像这样的httwebrequest

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.method = "POST"

如果你需要传递视图状态,那就太痛苦了。这应该让你开始。