http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 4000|回复: 4

[其他] button事件间传递登陆cookie的问题

[复制链接]
发表于 2013-6-13 04:06:26 | 显示全部楼层 |阅读模式
本帖最后由 Monn 于 2013-6-13 04:14 编辑

QQ截图20130613033138.jpg

button1=登陆
button2=开始回复

点击buttom1取得了登陆的cookie信息,也显示登陆成功了,我把button2的post请求写到button1下执行的话是可以回帖的,但是写在button2下的时候是错误的,获取不到登陆的cookie信息
我的做法是:button2下没有重新写登陆的代码,只是调用button1的cookie。。
不知道是我调用错了呢,还是如果有两个button事件,要登陆两次每个botton事件下都要写登陆代码呢?
点击button2的时候怎么获得button1的登陆cookie呢?我是C#新手,这个可能是基本的问题,但是我确实不知道。。请高手帮忙。。
因为这个是写的dz最新版3.0 模拟自动登陆和回帖,代码不便贴上来。。


我看过@猫星人   求助!登陆成功AJAX操作添加好友问题 http://www.sufeinet.com/thread-3488-1-1.html 的案例,猫星人这个就是两个button,他这个测试不成功,应该也是button2没有登陆的cookie。。 @站长苏飞   给猫星人解决过,但是我看登陆代码跟加好友的代码是写在一起的,我的写在一起也可以,发这个贴就是问问两个button事件下,button2如何获取button1的登陆cookie信息。。。

我贴上来他的代码吧。。

猫星人的窗体布局
QQ截图20130613040708.jpg

全部代码:
[code=csharp]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace LOVEQ
{
    public partial class mainfrm : Form
    {

        public mainfrm()
        {
            InitializeComponent();
            
        }

        HttpHelper http = new HttpHelper();
        string cookie = "";
        HttpItem item = null;//创建HTTP访问类对象


        private void button1_Click(object sender, EventArgs e)
        {
            
             item = new HttpItem()
            {
                URL = "http://www.loveq.cn/user.php",//URL     必需项  
                Method = "POST",//URL     可选项 默认为Get  
                Timeout = 100000,//连接超时时间     可选项默认为100000  
                ReadWriteTimeout = 30000,//写入Post数据超时时间     可选项默认为30000  
                IsToLower = false,//得到的HTML代码是否转成小写     可选项默认转小写  
                Referer = "http://www.loveq.cn/user-default.html",
                ContentType = "application/x-www-form-urlencoded",//返回类型    可选项有默认值  
                Postdata = "username=test00001&password=test00001&act=act_login",//Post数据     可选项GET时不需要写  
                //Allowautoredirect = false
            };
            HttpResult result = http.GetHtml(item);
            //登录成功后进行测试
            item = new HttpItem()
            {
                URL = "http://www.loveq.cn/friend-test0001.html",//URL     必需项
                Method = "get",//URL     可选项 默认为Get
                Accept = "text/html, application/xhtml+xml, */*",//    可选项有默认值  
                ContentType = "text/html",//返回类型    可选项有默认值  
                //Postdata = "act=add&uid=357458&is_ajax=1",
                //Referer = "http://www.loveq.cn/profile-a1122333.html",
                Cookie = result.Cookie//当前登录Cookie
            };
            //得到HTML代码
            result = http.GetHtml(item);
            string html = result.Html;
            cookie = result.Cookie;

            textBox1.AppendText("cookies:" + cookie + "\r\n\r\n");
            textBox1.AppendText(html);

        }

        private void btn_add_Click(object sender, EventArgs e)
        {
            HttpResult result = http.GetHtml(item);
            //登录成功后进行测试
            item = new HttpItem()
            {
                URL = "http://www.loveq.cn/friend.php",//URL     必需项
                Method = "post",//URL     可选项 默认为Get
                Accept = "text/html, application/xhtml+xml, */*",//    可选项有默认值  
                ContentType = "text/html",//返回类型    可选项有默认值  
                Postdata = "act=add&uid=357458&is_ajax=1",
                //Referer = "http://www.loveq.cn/profile-a1122333.html",
                Cookie = cookie//当前登录Cookie
            };
            //得到HTML代码
            
           // HttpResult result = http.GetHtml(item);
            string html = result.Html;
            cookie = result.Cookie;

            textBox2.AppendText("cookies:" + cookie + "\r\n\r\n");

            textBox2.AppendText(html);
        }
    }
}
[/code]




1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2013-6-13 08:05:05 | 显示全部楼层
cookie = result.Cookie;登录成功后测试里面就不要加这一句了,再加Cookie就不是登录Cookie了,而是你测试页面的,你使用这个Cookie去添加是肯定不行的
 楼主| 发表于 2013-6-13 10:20:01 | 显示全部楼层
我昏头了。。我说呢,咋赋值不起作用了呢。。 此问题已解决,感谢苏飞老大。。请结贴吧。。
 楼主| 发表于 2013-6-13 10:20:23 | 显示全部楼层
站长苏飞 发表于 2013-6-13 08:05
cookie = result.Cookie;登录成功后测试里面就不要加这一句了,再加Cookie就不是登录Cookie了,而是你测试 ...


我昏头了。。我说呢,咋赋值不起作用了呢。。 此问题已解决,感谢苏飞老大。。请结贴吧。。
发表于 2013-6-13 10:23:04 | 显示全部楼层
Monn 发表于 2013-6-13 10:20
我昏头了。。我说呢,咋赋值不起作用了呢。。 此问题已解决,感谢苏飞老大。。请结贴吧。。

呵呵,OK我结帖子了
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-22 19:10

© 2014-2021

快速回复 返回顶部 返回列表