不需要用webbrower等浏览器 直接用代码实现 !最效率 最快的方法!!有什么号方法吗?想做自动登陆网站得工具 !忧郁COOKIE问题 一直没成功!用HttpWebRequest 这些方法 获取到的cookie都不是全完整的 !有什么号方法吗?

解决方案 »

  1.   

    js获取cookie 删除cookie 设置cookie方法 这里提供一个写法!根据自己需求写符合自己的..
     function getCookieval_r(offset) {
     var endstr = document.cookie.indexOf(";", offset);
     if(endstr == -1) {
      endstr = document.cookie.length;
     }
     return document.cookie.substring(offset, endstr);
    }function getCookie(name) {
     var arg = name + "=";
     var alen = arg.length;
     var clen = document.cookie.length;
     var i = 0;
     var j = 0;
     while(i < clen) {
      j = i + alen;
      if(document.cookie.substring(i, j) == arg){
       return getCookieval_r(j);
      }
      i = document.cookie.indexOf(" ", i) + 1;
      if(i === 0){
       break;
      }
     }
     return '';
    }function deleteCookie(name) {
     var exp = new Date();
     var cval = getCookie(name);
     exp.setTime(exp.getTime() - 1);
     document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
    }function setCookie(name, value) {
     var argv = setCookie.arguments;
     var argc = setCookie.arguments.length;
     var exp = (argc > 2) ? argv[2] : 90;
     var path = (argc > 3) ? argv[3] : null;
     var domain = (argc > 4) ? argv[4] : null;
     var secure = (argc > 5) ? argv[5] : false;
     var expires = new Date();
     deleteCookie(name);
     expires.setTime(expires.getTime() + (exp*24*60*60*1000));
     document.cookie = name + "=" + value +
      "; expires=" + expires.toGMTString() +
      ((domain === null) ? "" : ("; domain=" + domain)) +
      ((path === null) ? "" : ("; path=" + path)) +
      ((secure === true) ? "; secure" : "");
    }
      

  2.   

    普通的用JS,还都是在webbrower浏览器里的。你可以用webbrower控件来运行JS读取,这在前台上是看不出来的,后台实现也相对容易。其它的方法也可以用WIN32编程语言去写,不知你熟不熟,熟的话可以搜一下,或去相应版块提问。
      

  3.   

    //获取cookie
    function cook(cookName){
        //获取所有的cookie对象
        var arrStr = document.cookie.split(";");
        var str = undefined;
        for (var i = 0; i < arrStr.length; i++) {
            var temp = arrStr[i].split("=");
            //清除空格,否则获取的第一个cookie名会有空格存在
             var temps = LTrim(temp[0]);
            //判断传入的cookie名
            if (temps == cookName) {
                str = temp[1];
            }
        }
         //str就是你需要的cookie保存的内容
    }
    function LTrim(str) {return str.replace(/^\s*/g, "");} 
    //保存cookie
    function savecook(cookName)
    {
            var value = "需要保存的cookie值";
            var Days = 30;//保存的cookie有效期
            var exp = new Date();
            exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
            document.cookie = "" + cookName + "=" + value + ";expires=" + exp.toGMTString();
    }