关于C#窗体登录网站获取网页Cookie
2014-12-17 10:07
405 查看
1. post登录之后获得CookieContainer,以后每次get的时候用这个CookieContainer登录 post方法大致如下 public static string SendData(string method, string Url, byte[] data, ref CookieContainer cookie, string encoding, string refer) { string retString = ""; try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); if (cookie.Count == 0) { request.CookieContainer = new CookieContainer(); cookie = request.CookieContainer; } else { request.CookieContainer = cookie; } //实际处理 } catch (Exception e) { throw e; } return retString; } get 方法大致如下 public static string SendData(string Url, ref CookieContainer cookie, string encoding, string refer) { return SendData("get", Url, null, ref cookie, encoding, refer); } 2. 根据返回的html值进行判断,如果包括了500错误,重新post即可
主要是cookie传值的问题 比如我在Form_Load提交post获得cookie,我没办法在button里面调用啊 怎样才能调用到这个cookie?ref 是不是还是每次都要先请求post? 另外 500错误 程序会直接出错,而不返回html内容哦
1. 这个CookieContainer变量可以设置为窗体的成员,比如下面 public partial class Form1 : Form { private CookieContainer cookie; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } } 2. 在SendData中加异常处理,一旦抛出异常则返回html为string.Empty,你的应用程序获得为空时就应该重新get和post了
添加private CookieContainer cookie; 调用时提示错误 “非静态的字段、方法或属性“WindowsFormsApplication1.Form1.cookie”要求对象引用”
如果你是静态方法调用就应该是 private static CookieContainer cookie;
相关文章推荐
- C# 关于winFrom控制网页的自动登录的问题(网页刷屏器的制作原理)
- C# 登录QQ网站并获取QQ相关信息
- 关于c#的webbrows控件自动填写表单并获取提交后的网页内容
- C#获取网页的HTML码、下载网站图片 get post
- c#关于微信网页授权,获取关注等接口调用
- c# 实现网页上用户自动登陆|asp.net 模拟网站登录
- C#关于窗体的keysdown事件,无法获取到焦点
- 通过httpclinet登录网站(https),并且获取网页上的信息。post+get
- C#获取网页的HTML码、下载网站图片
- c# 获取网页源代码(支持cookie),最简单代码
- [C#.Net]利用HttpRequest登录到某个网站,然后获取网站信息的程序示例
- C# 获取 新浪微博登录之后的 完整的Cookie
- c# 实现网页上用户自动登陆|asp.net 模拟网站登录
- python 利用selenium模拟登录帐号验证网站并获取cookie
- 用HttpClient模拟登录网站一(获取网页信息)
- 关于C# 获取不到safari浏览器Cookie的问题
- c#获取新浪微博登录cookie
- C#获取网页的HTML码、下载网站图片
- C#获取网页的HTML码、下载网站图片、获取IP地址
- c#使用WebClient登录网站抓取登录后的网页