CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

WINFORM下的COOKIE问题,不解决一直在线等!200分!

楼主newsz(爱江南)2004-12-04 13:12:45 在 .NET技术 / ASP.NET 提问

Private   Sub   button1_Click(ByVal   sender   As   Object,   ByVal   e   As   System.EventArgs)    
    Dim   cookieheader   As   String    
    Dim   url   As   String   =   textBox1.Text    
  '此处给出的网址,已通过IE登录,并设置COOKIE一年期有效!  
   
    Dim   req   As   HttpWebRequest   =   CType(WebRequest.Create(url),   HttpWebRequest)    
    Dim   cookieCon   As   CookieContainer   =   New   CookieContainer   ()    
    req.CookieContainer   =   cookieCon    
   
    Dim   res   As   HttpWebResponse   =   CType(req.GetResponse(),   HttpWebResponse)    
  '第一次请求,得到cookie  
    cookieheader   =   req.CookieContainer.GetCookieHeader(New   Uri   (url))    
   
    req.CookieContainer.SetCookies(New   Uri   (url),   cookieheader)    
    res   =   CType(req.GetResponse(),   HttpWebResponse)    
  '第二次请求  
   
    Dim   ReceiveStream   As   Stream   =   res.GetResponseStream()    
    Dim   sr   As   StreamReader   =   New   StreamReader   (ReceiveStream,    
   
  System.Text.Encoding.GetEncoding("GB2312"))    
    Dim   s   As   String   =   sr.ReadToEnd()    
    textBox2.Text   =   s    
  '得到的内容仍然是未登录的内容  
  End   Sub  
   
  请高手解答,还有不清楚的请问我,在线等哇!  
   
  谢谢,分不够,再加!  
  问题点数:100、回复次数:5Top

1 楼NetFire(Fire.Rolland.Han)回复于 2004-12-04 13:25:37 得分 10

winform?我没有听错吧?  
  你把缓存了cookie清空后看看呢。应该没有这个问题的,要不用session看看Top

2 楼Miracle(新一代的开山怪)回复于 2004-12-04 13:26:19 得分 80

没有实际用过CookieContainer,看起来你的代码本身似乎没啥问题,在第二次请求之前,首先用CookieContainer.GetCookies取出所有Cookie并且把它们的值显示出来,看看跟预期的是不是一致?  
  另外,是否需要设置HttpWebRequest.Credentials?  
   
                          HttpWebRequest   request   =   (HttpWebRequest)WebRequest.Create(url);  
                          request.CookieContainer   =   new   CookieContainer();  
                   
                          HttpWebResponse   response   =   (HttpWebResponse)   request.GetResponse();  
                          response.Cookies   =   request.CookieContainer.GetCookies(request.RequestUri);  
                           
   
                          //   Print   the   properties   of   each   cookie.  
                          foreach   (Cookie   cook   in   response.Cookies)  
                          {  
                                  Console.WriteLine("Cookie:");  
                                  Console.WriteLine("{0}   =   {1}",   cook.Name,   cook.Value);  
                                  Console.WriteLine("Domain:   {0}",   cook.Domain);  
                                  Console.WriteLine("Path:   {0}",   cook.Path);  
                                  Console.WriteLine("Port:   {0}",   cook.Port);  
                                  Console.WriteLine("Secure:   {0}",   cook.Secure);  
                             
                                  Console.WriteLine("When   issued:   {0}",   cook.TimeStamp);  
                                  Console.WriteLine("Expires:   {0}   (expired?   {1})",    
                                          cook.Expires,   cook.Expired);  
                                  Console.WriteLine("Don't   save:   {0}",   cook.Discard);          
                                  Console.WriteLine("Comment:   {0}",   cook.Comment);  
                                  Console.WriteLine("Uri   for   comments:   {0}",   cook.CommentUri);  
                                  Console.WriteLine("Version:   RFC   {0}"   ,   cook.Version   ==   1   ?   "2109"   :   "2965");  
   
                                  //   Show   the   string   representation   of   the   cookie.  
                                  Console.WriteLine   ("String:   {0}",   cook.ToString());  
                          }  
  Top

3 楼newsz(爱江南)回复于 2004-12-04 14:12:29 得分 0

TO:Miracle(新一代的开山怪)    
   
  谢谢楼上两位,我先按你的方法试一下!  
  Top

4 楼NetFire(Fire.Rolland.Han)回复于 2004-12-04 14:16:20 得分 10

老M也在阿,呵呵Top

5 楼newsz(爱江南)回复于 2004-12-04 14:35:06 得分 0

TO:Miracle(新一代的开山怪)    
   
  按你的方法试了一下,可以显示出基本信息,域名,路径之类的!  
  但认证信息还是没有显示....  
   
  Top

相关问题

  • WINFORM如何传递COOKIE给网站?
  • 如何在winform中画线?
  • 线程问题(WinForm界面)
  • winform
  • 我一直不太懂cookie的含义
  • WinForm程序如何读取存储在本地的Cookie信息?
  • cookie
  • 如何在winform中画直线?
  • 还是传值问题winform,在线等!
  • WINFORM刷新问题 在线等!!!!!!!!!!!!

关键词

  • cook
  • cookiecontainer
  • httpwebresponse
  • httpwebrequest
  • writeline
  • cookieheader
  • console
  • 请求
  • cookie
  • getresponse

得分解答快速导航

  • 帖主:newsz
  • NetFire
  • Miracle
  • NetFire

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo