永远的.Net
无怨无悔.Net
posts - 1, comments - 0, trackbacks - 0, articles - 9
向某网址Post信息,并得到CookieContainer以便以后直接通过验证
Posted on 2005-04-25 21:19
曾经的歌王
阅读(83)
评论(0)
编辑
收藏
所属分类:
ASP.NET
using
System;
using
System.Net;
using
System.IO;
using
System.Text;
[STAThread]
static
void
Main(
string
[] args)
{
//
//
TODO: 在此处添加代码以启动应用程序
//
string
url
=
"
http://localhost/csdn2/1.asp
"
;
//
<%
//
if request("aa")="zhuye" then session("ok")="ok"
//
if session("ok")="ok" then
//
response.write("登录")
//
else
//
response.write("没有登录")
//
end if
//
%>
string
indata
=
"
aa=zhuye
"
;
string
outdata
=
""
;
CookieContainer myCookieContainer
=
new
CookieContainer();
//
新建一个CookieContainer来存放Cookie集合
HttpWebRequest myHttpWebRequest
=
(HttpWebRequest)WebRequest.Create(url);
//
新建一个HttpWebRequest
myHttpWebRequest.ContentType
=
"
application/x-www-form-urlencoded
"
;
myHttpWebRequest.ContentLength
=
indata.Length;
myHttpWebRequest.Method
=
"
POST
"
;
myHttpWebRequest.CookieContainer
=
myCookieContainer;
//
设置HttpWebRequest的CookieContainer为刚才建立的那个myCookieContainer
Stream myRequestStream
=
myHttpWebRequest.GetRequestStream();
StreamWriter myStreamWriter
=
new
StreamWriter(myRequestStream,Encoding.GetEncoding(
"
gb2312
"
));
myStreamWriter.Write(indata);
//
把数据写入HttpWebRequest的Request流
myStreamWriter.Close();
myRequestStream.Close();
//
关闭打开对象
HttpWebResponse myHttpWebResponse
=
(HttpWebResponse)myHttpWebRequest.GetResponse();
//
新建一个HttpWebResponse
myHttpWebResponse.Cookies
=
myCookieContainer.GetCookies(myHttpWebRequest.RequestUri);
//
获取一个包含url的Cookie集合的CookieCollection
Stream myResponseStream
=
myHttpWebResponse.GetResponseStream();
StreamReader myStreamReader
=
new
StreamReader(myResponseStream,Encoding.GetEncoding(
"
gb2312
"
));
outdata
=
myStreamReader.ReadToEnd();
//
把数据从HttpWebResponse的Response流中读出
myStreamReader.Close();
myResponseStream.Close();
Console.WriteLine(outdata);
//
显示"登录"
//
拿到了Cookie,再进行请求就能直接读取到登录后的内容了
myHttpWebRequest
=
(HttpWebRequest)WebRequest.Create(url);
myHttpWebRequest.CookieContainer
=
myCookieContainer;
//
*
//
刚才那个CookieContainer已经存有了Cookie,把它附加到HttpWebRequest中则能直接通过验证
myHttpWebResponse
=
(HttpWebResponse)myHttpWebRequest.GetResponse();
myHttpWebResponse.Cookies
=
myCookieContainer.GetCookies(myHttpWebRequest.RequestUri);
myResponseStream
=
myHttpWebResponse.GetResponseStream();
myStreamReader
=
new
StreamReader(myResponseStream,Encoding.GetEncoding(
"
gb2312
"
));
outdata
=
myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
Console.WriteLine(outdata);
//
再次显示"登录"
//
如果把*行注释调,就显示"没有登录"
}
新用户注册
刷新评论列表
标题
姓名
主页
Email
(博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
博客园首页
新闻频道
社区
小组
博问
网摘
闪存
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
成果网帮您增加网站收入
相关文章:
如果向某网址Post信息,并得到CookieContainer以便以后直接通过验证
(论坛答疑点滴)如何向某网址Post信息,并得到CookieContainer以便以后直接通过验证
如何向某网址Post信息,并得到CookieContainer以便以后直接通过验证(续)
(论坛答疑点滴)如何向某网址Post信息,并得到CookieContainer以便以后直接通过验证
Struts常见异常信息和解决方法
自动向网页Post信息并提取返回的信息
相关链接:
所属分类的其他文章:
按回车触发按钮click事件的问题
向某网址Post信息,并得到CookieContainer以便以后直接通过验证
压缩 Access 数据库
向其他服务器POST一条信息
利用多线程执行长时间的任务,客户端显示出任务的执行进度的示例
18位身份证格式验证算法
随机数应用
加密口令
在线压缩文件
最新IT新闻:
淘宝与微软总部达成首次合作 Silverlight加入店铺
苹果9日发布iTunes 8、iPhone 2.1和第四代iPod Nano
微软出品8GB蓝色和120GB Zune播放器
千亿美元市值榜:微软居首移动第二 诺基亚退榜
Google申请“海上数据中心”专利 可能付诸行动
Powered by:
博客园
Copyright © 曾经的歌王
导航
博客园
首页
新随笔
联系
订阅
管理
<
2008年9月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
我的标签
留言簿
给我留言
查看留言
随笔分类
有问必答.Net(1)
随笔档案
2005年4月 (1)
文章分类
ASP.NET(9)
相册
我的相册
常回家看看
在web开发中的三个层次使用事务
最新评论