只是登录之类的简单需求甚至可以不用cookie,直接传递参数给指定网页就可以了,网页接收参数后实现自己登陆。
http://yoururl.com/default.aspx?uid=..&pwd=...

解决方案 »

  1.   

    用C#读cookie,可以使用webbrowser加载那个网页,然后webBrowser1.Document.Cookie
      

  2.   


    没这么简单哦.没有参数的,我用工具截取看到的是加密过的cookie!
      

  3.   

    那个网页直接用webbrowser请求是不行的,第一次请求就需要认证过的cookie.这个cookie我估计是在聊天软件里就发送了,点击菜单后,发送,打开IE....
      

  4.   

    会话cookie在内存中的吧??读取有点难度吧,我想另一个办法行不行?先把自已的程序运行,然后手工通过那个聊天软件打开网页,用自已的程序截取http头信息...??
    这样应该可行吧?有C#截取本机向外发送的http头信息..方面的代码吗?
      

  5.   

    软件在内存中存有用户名和密码,当点击XXXX时,post模拟请求......
      

  6.   

    using System;
    using System.Runtime.InteropServices;
    using System.Text;
    using System.Net;
    using System.Linq;
    using System.Collections.Generic;namespace NExplus.NSiter
    {
        /**/
        ///<summary>
        /// 获取Cookie的方法类。
        ///</summary>
        public class CookieManger
        {        [DllImport("wininet.dll", SetLastError = true)]
            public static extern bool InternetGetCookie(string url, string cookieName,StringBuilder cookieData, ref int size);        public static CookieContainer GetUriCookieContainer(Uri uri)
            {
                CookieContainer cookies = null;
                //定义Cookie数据的大小。
                int datasize = 256;
                StringBuilder cookieData = new StringBuilder(datasize);            if (!InternetGetCookie(uri.ToString(), null, cookieData, ref datasize))
                {
                    if (datasize < 0) return null;
                    // 确信有足够大的空间来容纳Cookie数据。
                    cookieData = new StringBuilder(datasize);
                    if (!InternetGetCookie(uri.ToString(), null, cookieData, ref datasize)) return null;
                }            if (cookieData.Length > 0)
                {
                    cookies = new CookieContainer();
                    cookies.SetCookies(uri, cookieData.ToString().Replace(';', ','));
                }
                return cookies;
            }        static List<int> GetSquaresOfPositiveByLambda(List<string> strList)
            {
                return strList
                    .Select(s => Int32.Parse(s)) // 转成整数
                    .Where(i => i % 2 == 0) // 找出所有偶数
                    .Select(i => i * i) // 算出每个数的平方
                    .OrderBy(i => i) // 按照元素自身排序
                    .ToList(); // 构造一个List
            }        public static void PrintCookies(CookieContainer cookies, Uri uri)
            {
                CookieCollection cc = cookies.GetCookies(uri);            foreach (var cook in cc)
                {
                    Console.WriteLine(cook);
                }
            }
        }    public class Test
        {
            static void Main(string[] args)
            {
                string url = @"http://www.kaixin001.com/";
                Uri uri = new Uri(url);
                CookieContainer cookies = CookieManger.GetUriCookieContainer(uri);
                CookieManger.PrintCookies(cookies,uri);
                
                Console.ReadKey();
            }
        }
    }
      

  7.   

    谢谢,楼上的代码只能取本地硬盘上的cookie吧?那内存中的会话cookie呢?就是IE一关掉就失效的那种