会员
周边
捐助
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
路过秋天
坚持 .NET 三十年,持续提供、更新、创造系列框架,包括ORM、MVC、微服务、分布式等框架,愿国产框架百花齐放,提升国内.NET行业整体竞争力。
-- 理想很美好,现实很残酷,坚持在路上,只因初心仍存
博客园
首页
新随笔
管理
订阅
采集之cookie登陆
记录下来备忘
1
Code
public
static
string
PostData(
string
url,
string
indata,CookieContainer myCookieContainer)
2
{
3
string
outdata
=
""
;
4
HttpWebRequest myHttpWebRequest
=
(HttpWebRequest)WebRequest.Create(url);
5
myHttpWebRequest.ContentType
=
"
application/x-www-form-urlencoded
"
;
6
myHttpWebRequest.ContentLength
=
indata.Length;
7
myHttpWebRequest.Method
=
"
POST
"
;
8
myHttpWebRequest.CookieContainer
=
myCookieContainer;
9
Stream myRequestStream
=
myHttpWebRequest.GetRequestStream();
10
StreamWriter myStreamWriter
=
new
StreamWriter(myRequestStream,Encoding.GetEncoding(
"
gb2312
"
));
11
myStreamWriter.Write(indata);
12
myStreamWriter.Close();
13
myRequestStream.Close();
14
HttpWebResponse myHttpWebResponse
=
(HttpWebResponse)myHttpWebRequest.GetResponse();
15
myHttpWebResponse.Cookies
=
myCookieContainer.GetCookies(myHttpWebRequest.RequestUri);
16
Stream myResponseStream
=
myHttpWebResponse.GetResponseStream();
17
StreamReader myStreamReader
=
new
StreamReader(myResponseStream,Encoding.GetEncoding(
"
gb2312
"
));
18
outdata
=
myStreamReader.ReadToEnd();
19
myStreamReader.Close();
20
myResponseStream.Close();
21
return
outdata;
22
}
Code
CookieContainer myCookieContainer
=
new
CookieContainer();
string
url
=
"
?????????????????
"
;
//
登录页面的链接,看from里面的action
string
loginfo
=
"
?????????????????
"
;
//
登录字符串,例如user=??&pass=????
PostData(url,loginfo,myCookieContainer);
//
这个返回的应该是登录成功的信息,而且写好cookie了
url
=
"
???????????
"
;
//
这个就是想要读取的页面地址,普通情况用StreamReader是读不到的喔
PostData(url,
""
,myCookieContainer);
//
返回的就是目标页面,完成,如果还要连续读其它页面,继续这两句代码就行了(cookie已经保存了,自己用就好了).
版权声明:本文原创发表于 博客园,作者为
路过秋天
本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。
个人微信公众号
Donation(扫码支持作者):支付宝:
Donation(扫码支持作者):微信:
posted on
2008-09-24 16:31
路过秋天
阅读(
319
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部
公告
路过秋天