首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
.NET技术
C#
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
【C#】获取本地Cookie的问题
[已结贴,结贴人:fox_sky]
加为好友
发送私信
在线聊天
fox_sky
等级:
可用分等级:
乞丐
总技术专家分:
41
总技术专家分排名:
136003
揭帖率:
66.67%
发表于:
2008-05-29 12:28:35
楼主
现在我想要实现一个效果,我现在自己用HttpWebRequest类,向服务器访问,这个类里面有一个CookieContainer,如何获取本地已经有的Cookie放进去?
问题点数:
50
回复次数:
4
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
yilanwuyu123
WPF - 树新风
等级:
可用分等级:
富农
总技术专家分:
3812
总技术专家分排名:
5362
发表于:
2008-05-29 12:43:26
1
楼 得分:
0
关注一下 没接触过这方面的
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
xocom
福大
等级:
可用分等级:
富农
总技术专家分:
4163
总技术专家分排名:
5052
发表于:
2008-06-12 23:22:15
2
楼 得分:
10
using System;
using System.Net;
using System.IO;
using System.Text;
//
// 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);
//再次显示"登录"
//如果把*行注释调,就显示"没有登录"
}
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zzultc
想不到昵称的笨蛋
等级:
可用分等级:
富农
总技术专家分:
2443
总技术专家分排名:
9071
发表于:
2008-06-13 00:36:40
3
楼 得分:
30
本地已经有的cookies
在3.0以下平台:使用api
[DllImport("wininet.dll", SetLastError=true)]
public static extern bool InternetGetCookie(string url, string cookieName, StringBuilder cookieData, ref int size);
在3.0以上平台可以使用
System.Windows.Application.GetCookie方法。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
dyjqk
董大帅
等级:
可用分等级:
富农
总技术专家分:
5645
总技术专家分排名:
3846
发表于:
2008-06-13 08:53:12
4
楼 得分:
10
[DllImport("wininet.dll", SetLastError=true)]
public static extern bool InternetGetCookie(string url, string cookieName, StringBuilder cookieData, ref int size);
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友