2

比如有这个网站:www.azet.sk

在右侧,有登录名和密码,我希望我的应用程序登录到这个 Web 应用程序,并从我自己的帐户中检索数据到 C# (.NET) 应用程序并使用它。目的是保持“登录”连接处于活动状态并使用 POST 方法发送变量。是否有任何教程或带有示例的简单脚本来学习这个?

4

3 回答 3

5
string username = "your";
string password = "password";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://moje.azet.sk/prihlasenie.phtml?KDE=www.azet.sk%2Findex.phtml%3F");
using (StreamWriter writer = new StreamWriter(request.GetRequestStream(), Encoding.ASCII))
{
    writer.Write("nick=" + username + "&password=" + password);
}

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
//Retrieve your cookie that id's your session
//response.Cookies

using (StreamReader reader = new StreamReader(response.GetResponseStream())
{
    Console.WriteLine(reader.ReadToEnd());
}
于 2009-02-11T23:01:32.100 回答
4

登录部分应该相对容易。

使用POST 表单数据System.Net.WebClient的方法。UploadValues()查看 HTML 源代码以找出要 POST 的字段值。

大多数基于表单的身份验证机制使用 HTTP cookie 来保持用户登录。因此,在您发布值之后,检查'Set-Cookie:' 标头WebClientResponseHeaders集合。

为网站的后续 GET/POST 存储 cookie 值。

您可能会发现“从您的帐户中检索数据并使用它”要复杂得多(即屏幕抓取等)。

这是一个包含一些示例的链接:

http://codebetter.com/blogs/brendan.tompkins/archive/2005/05/18/63329.aspx

于 2009-02-07T20:52:59.843 回答
0

查看 WebBrowser 控件。您可以在任何地方导航并以编程方式访问文档及其控件。

于 2009-02-11T20:06:04.520 回答