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); 
//再次显示"登录" 
//如果把*行注释调,就显示"没有登录" 
}

发表于:2008-06-13 00:36:403楼 得分: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方法。

【C#】获取本地Cookie的问题的更多相关文章

  1. taotao购物车2 解决购物车本地cookie和服务器redis不同步的问题

    下面的思路逻辑一定要理清楚,比较绕 思路; 前面已经实现了在cookie本地维护购物车的功能, 这次加入和服务器同步功能, 因为 购物车 操作比较频繁,所以,后台服务器 用redis存储用户的购物车信 ...

  2. 浅谈 php 采用curl 函数库获取网页 cookie 和 带着cookie去访问 网页的方法!!!!

    由于近段时间帮朋友开发一个能够查询正方教务系统的微信公众平台号.有所收获.这里总结下个人经验. 开讲前,先吐槽一下新浪云服务器,一个程序里的   同一个函数  在PC测试可以正常运行,在它那里就会挂的 ...

  3. js设置、获取单值cookie和多值cookie

    js设置.获取单值cookie和多值cookie,代码如下: var CookieUtil = (function () { var Cookie = function () { // 获取单值coo ...

  4. android获取本地图片并显示图片

    import java.io.FileNotFoundException; import android.content.ContentResolver; import android.content ...

  5. Linux编程获取本地IP

    #include <stdio.h> #include <sys/types.h> #include <ifaddrs.h> #include <netine ...

  6. Java获取本地IP地址

    import java.net.InetAddress; import java.net.UnknownHostException; public class IpTest { public stat ...

  7. 清除Cookie、获取指定Cookie的值、添加一个Cookie(24小时过期)、添加一个Cookie

    MXS&Vincene  ─╄OvЁ  &0000007 ─╄OvЁ  MXS&Vincene MXS&Vincene  ─╄OvЁ:今天很残酷,明天更残酷,后天很美好 ...

  8. Android开发之获取本地视频和获取自拍视频

    1.获取本地所有视频 public void getLoadMedia() { Cursor cursor = UILApplication.instance.getApplicationContex ...

  9. 获取本地IP地址信息

    2012-06-05    /// <summary>         /// 获取本地IP地址信息         /// </summary>         void G ...

随机推荐

  1. Scheme Implementations对比

    MIT Scheme http://www.gnu.org/software/mit-scheme/ GNU Guile http://www.gnu.org/software/guile/ Rack ...

  2. oracle logminer全解析

    今天写篇原创的,把在工作中遇到的logminer问题总结下 (1)简介: logminer 工具即可以用来分析在线,也可以用来分析离线日志文件,即可以分析本身自己数据库的重作日志文件,也可以用来分析其 ...

  3. FZU 2122 又见LKity

    直接模拟或者KMP #include <iostream> #include <string.h> #include <stdio.h> #include < ...

  4. HDU POJ 1015 Jury Compromise(陪审团的人选,DP)

    题意: 在遥远的国家佛罗布尼亚,嫌犯是否有罪,须由陪审团决定.陪审团是由法官从公众中挑选的.先随机挑选n个人作为陪审团的候选人,然后再从这n个人中选m人组成陪审团.选m人的办法是:控方和辩方会根据对候 ...

  5. WordPress更新服务加快收录

    WordPress更新服务的设置在后台"设置"-"撰写".更新服务下的文本框中默认为http://rpc.pingomatic.com/.该地址网站Ping-o ...

  6. HDU1247 - Hat’s Words(Trie树)

    题目大意 给定一些单词,要求你把所有的帽子单词找出来,如果某个单词恰好由另外两个单词连接而成,那么它就是帽子单词 题解 先把所有单词插入到Trie树,然后判断每个单词是不是帽子单词,做法就是:对于第i ...

  7. Headless MSBuild Support for SSDT (*.sqlproj) Projects [利用msbuild自动化部署 .sqlproj]- 摘自网络

    Update: breaking change: http://sqlproj.com/index.php/2012/10/dacfx-sept-2012-updates-break-headless ...

  8. hdoj 1406 完数

    完数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...

  9. JS----JS调试技巧

    骨灰级调试大师Alert 那还是互联网刚刚起步的时代,网页前端还主要以内容展示为主,浏览器脚本还只能为页面提供非常简单的辅助功能的时候.那个时候,网页主要运行在以IE6为主的浏览器中,JS的调试功能还 ...

  10. java web知识点总结

    创建与销毁 ServletContext HttpRequest HttpSession 1.ServletContext 创建:启动服务器时就创建,服务为每个web应用创建该项目的ServleCon ...