现在我要在自己的系统中登陆到 另一个站点的博客, 然后发表文章. 现在实现了 登陆, 发文章是根据httpwatch 获得的地址和cookie,再post 过去的,如果是直接用监视到的cookie(header项里的值) 是可以实现发帖的 但这样 把一些内容就写死了, 如果有点变动,或者改个用户就不能用了, 我就先访问博客的主页, 获取cookie ,同样用httpwatch 可以看到有cookie项里有多个cookie ,但是通过下面的方法获取的就少几个, HttpWebRequest req1 = WebRequest.Create(url) as HttpWebRequest; CookieContainer mi =cookie;//通过登陆获取的 req1.Method = "GET"; WebResponse wp1 = req1.GetResponse(); Stream st1 = wp1.GetResponseStream(); StreamReader sr1 = new StreamReader(st1); string aa1 = sr1.ReadToEnd(); CookieCollection cookieheader1 = req1.CookieContainer.GetCookies(req1.RequestUri); 这样获取的cookieheader1 比监视到的要少几个 ,不知道是怎么回事, 我想如果这里的cookie 获取对了,替换写死的的cookie 就应该可以了 弄了一天了,也搜索了不少, 还是没解决.
2 回答
一只名叫tom的猫
TA贡献1906条经验 获得超3个赞
CookieContainer cookies = new CookieContainer();
每次请求时设置req.CookieContainer = cookies;
这样登陆之后的Cookies会保存到CookieContainer里
在下一次请求时也设置req.CookieContainer = cookies;
会自动将登录返回的cookies放到这次请求的Cookies里面。
- 2 回答
- 0 关注
- 782 浏览
添加回答
举报
0/150
提交
取消