c#模拟登录,cookie问题
来源:互联网 发布:手机淘宝怎么看店铺号 编辑:程序博客网 时间:2024/05/13 03:07
方法一是将cookie以ref方式的参数传递进登录的方法中,在以后抓其它页面时也带着这个cookie。
下面的方法中后面部分,如果只是将request中的cookie保留,即req.CookieContainer.GetCookieHeader(new Uri(url)),则对有些网站可行,而对一些网站,比如水木社区就不行。
加上后面的部分:cookie += “; ” + res.Headers.Get(”Set-Cookie”);则可以了。
而实际response中的cookie实际上只是比request中的多了个path=/。
也正是这种重复,让我想肯定是别的办法。
public static string PostUrl(String method, String url, String paramList, String referer, ref String cookie)
//设置cookie.
CookieContainer cookieCon = new CookieContainer();
req.CookieContainer = cookieCon;
req.CookieContainer.SetCookies(new Uri(url), cookie);
res = (HttpWebResponse)req.GetResponse();
//将cookie给回传参数。
cookie = req.CookieContainer.GetCookieHeader(new Uri(url));
Console.WriteLine("before:" + cookie);
//下面这句话是要删掉就不行了。其实下面这句response中的cookie包含了前面request中的部分。
cookie += "; " + res.Headers.Get("Set-Cookie");
Console.WriteLine("after:" + cookie);
方法二:
此方法的类中有一个成员变量,为了方便设置成potected类型,这样在post数据登录,还是get其它页面时都将req.CookieContainer 设置成该公用的cookies.
该方法使用时少传递了个参数,调用方便点,另外设置cookie的位置也简单了。
在水木社区上也测试通过了。
PostUrl(String url, String paramList, String referer)
protected CookieContainer cookies = new CookieContainer();
//设置cookie.
req.CookieContainer = cookies;
- c#模拟登录,cookie问题
- CURL模拟cookie登录
- 模拟网站登录 cookie
- PHP获取Cookie模拟登录
- PHP获取Cookie模拟登录
- python模拟登录带cookie
- python利用cookie模拟登录
- php curl 模拟cookie登录
- PHP获取Cookie模拟登录
- C#模拟网站登录
- 转:C# 模拟登录
- C# 模拟登录
- C#模拟登录总结
- c# 模拟用户登录
- C#模拟域登录
- c#模拟用户登录
- PHP获取Cookie模拟登录CURL
- PHP获取Cookie模拟登录CURL
- 深入分析Java使用+和StringBuilder进行字符串拼接的差异
- Exercises 4.1 E1
- hdoj 2602 Bone Collector (0-1)背包
- Android屏幕适配原理
- Android 添加新硬件平台
- c#模拟登录,cookie问题
- hdu(4461) The Power of Xiangqi
- 使用internal(com.android.internal)和hidden(@hide)APIs
- 计算机经典书籍(转载,难以找到出处)
- hibernate在没有主外键关系时是如何维护多对一等关联关系的
- 陆游和唐婉
- redhat安装ruby on rails的错误总结
- 3D图形学矩阵完全解析傻瓜版
- linux在线安装mysql数据库及简单配置