如何在winform调用一个网站的查询功能 我想在winform中调用一个网站的查询功能进行数据的批查询,网站要求输入账号和密码和验证码,请高手给我个思路,感激不尽。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你看个MSDN上的代码,使用WebRequest类。using System;using System.IO;using System.Net;using System.Text;namespace Examples.System.Net{ public class WebRequestGetExample { public static void Main () { // 这里填地址 WebRequest request = WebRequest.Create ("http://www.contoso.com/default.html"); // 这里是你说的用户名的密码:请注意,这是指那种弹出形式的并非在网页上输入的那种 request.Credentials = CredentialCache.DefaultCredentials; // 返回响应。 HttpWebResponse response = (HttpWebResponse)request.GetResponse (); // 输出状态描述,大体是表示返回的响应是否正确 Console.WriteLine (response.StatusDescription); // 取得响应的数据输出流 Stream dataStream = response.GetResponseStream (); // 打开输出流 StreamReader reader = new StreamReader (dataStream); // 这里你可以用正则表达多来分析出你要的数据。因为响应是HTML格式的,包含很多你不需要的数据。 string responseFromServer = reader.ReadToEnd (); // 显示你要的数据 Console.WriteLine (responseFromServer); // 关闭所使用的资源 reader.Close (); dataStream.Close (); response.Close (); } }} 注意看注释,我修改了原MSDN上的英文注释,这样看上去很清楚一些。另外注意你说的网站要求输入账号和密码和验证码这个功能使用上述代码不一定能解决,要看你的网站的认证方式。如果是一访问地址就跳出一个对话框的,比如:你访问路由器之类的时候跳出来的那种,就可以使用这种方式提供用户名和密码。否则,你必须在URL中带上你的用户名和密码进行访问。这要根据你的网站的具体情况而分析。 也可以使用WebBrowser,然后通过WebBrowser调用页面的js方法设置表单信息和提交表单。 可以用一些工具看一下你登录时POST的信息看看。至于验证码一般都是图片,你可以得到这个图片的地址并显示在WINFORM上,但却无法得到这个验证码的内容。 关于泛型T问题 怎么设置本地连接为自动获取得 IP 地址 取webBrowser滚动条位置 Label透明问题,在线等 100在线求解,如何在XML中取得符合条件的记录,并放在ArrayList中 如何下载带有验证的网页 问一个关于性能的问题,欢迎进来讨论一下 DATAGRID中如何及时取消选中的行?这个问题写完了,我就写完我的第一个DATAGRID了 什么叫:B/S、C/S结构 CRYSTAL REPORT 报表安装后不可使用 【版务帖】2008年10月C#版务帖 怎样释放掉加载在内存中的xml?
using System.IO;
using System.Net;
using System.Text;namespace Examples.System.Net
{
public class WebRequestGetExample
{
public static void Main ()
{
// 这里填地址
WebRequest request = WebRequest.Create ("http://www.contoso.com/default.html");
// 这里是你说的用户名的密码:请注意,这是指那种弹出形式的并非在网页上输入的那种
request.Credentials = CredentialCache.DefaultCredentials;
// 返回响应。
HttpWebResponse response = (HttpWebResponse)request.GetResponse ();
// 输出状态描述,大体是表示返回的响应是否正确
Console.WriteLine (response.StatusDescription);
// 取得响应的数据输出流
Stream dataStream = response.GetResponseStream ();
// 打开输出流
StreamReader reader = new StreamReader (dataStream);
// 这里你可以用正则表达多来分析出你要的数据。因为响应是HTML格式的,包含很多你不需要的数据。
string responseFromServer = reader.ReadToEnd ();
// 显示你要的数据
Console.WriteLine (responseFromServer);
// 关闭所使用的资源
reader.Close ();
dataStream.Close ();
response.Close ();
}
}
}
另外注意你说的
网站要求输入账号和密码和验证码
这个功能使用上述代码不一定能解决,要看你的网站的认证方式。如果是一访问地址就跳出一个对话框的,比如:你访问路由器之类的时候跳出来的那种,就可以使用这种方式提供用户名和密码。否则,你必须在URL中带上你的用户名和密码进行访问。这要根据你的网站的具体情况而分析。
至于验证码一般都是图片,你可以得到这个图片的地址并显示在WINFORM上,但却无法得到这个验证码的内容。