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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 18242|回复: 11

[教程] 【万能框架教程】- CookieCollection类型Cookie使用方法

[复制链接]
发表于 2018-7-27 11:59:44 | 显示全部楼层
本帖最后由 131415 于 2018-7-27 12:02 编辑

还是需要一个例子,测试后才能明白。
我在实际操作的时候,在窗口初始化的时候,获取验证码和cookie,但输入帐户密码点击登陆后,cookie不明白如何才能传递到登陆函数里,在登陆函数里提示“局部变量“cookie”在声明之前无法使用”
链接:http://www.sufeinet.com/thread-20045-1-1.html


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2018-7-27 17:25:36 | 显示全部楼层
第一步是访问网站
第二步获取验证码
第三点点击登录,带Cookie的时候,提示cookie 局部变量,在声明前无法使用

1.png

发表于 2018-7-28 10:19:41 | 显示全部楼层
sufeinet 发表于 2018-7-27 21:03
把变量放到方法外定义

问题就是在这,我有这思路,但没有具体的操作方法。下面这一句,还是不知道该往哪里放。CookieCollection = cookie,//把Cookie写入请求串中
[C#] 纯文本查看 复制代码
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;
using CsharpHttpHelper;
using CsharpHttpHelper.Enum;
using System.Net;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            //创建Httphelper对象
            HttpHelper http = new HttpHelper();
            //创建Httphelper参数对象
            HttpItem item = new HttpItem()
            {
                URL = "http://www.510376.com/tools/regcode.php?verify=08login&t=",//URL     必需项    
                Method = "get",//URL     可选项 默认为Get   
                ContentType = "text/html",//返回类型    可选项有默认值   
                ResultCookieType = ResultCookieType.CookieCollection
            };
            //请求的返回值对象
            HttpResult result = http.GetHtml(item);
            //获取请求的Cookie
            CookieCollection cookie = result.CookieCollection;

            
        }

        private void btnOK_Click(object sender, EventArgs e)
        {
            // 第二次使用Cookie
            HttpHelper http = new HttpHelper();
            //创建Httphelper参数对象
            HttpItem item = new HttpItem()
            {
                URL = "http://www.510376.com/index.php?/ajax/check_login/username/%E4%BF%A1%E9%98%B3%E8%AF%9A%E4%BF%A1%E4%BA%8C%E6%89%8B%E8%BD%A6/password/a123456/regcode/" + txtCode.Text.Trim() + "/verify/08login/expires/604800/cmslogin/1/datatype/json/domain/www.510376.com&callback=jQuery1102033559174329472374_1532680542340&_=1532680542341",//URL     必需项
                Method = "get",//URL     可选项 默认为Get   
                ContentType = "text/html",//返回类型    可选项有默认值   
                CookieCollection = cookie,//把Cookie写入请求串中
                ResultCookieType = ResultCookieType.CookieCollection
            };
            //请求的返回值对象
            HttpResult result = http.GetHtml(item);
            result = http.GetHtml(item);

            //获取Html
            txtHtml.Text = result.Html;
        }

    }
}


发表于 2018-7-28 10:22:28 | 显示全部楼层
sufeinet 发表于 2018-7-27 21:03
把变量放到方法外定义

如果放到外面,最终登录提交的时候还是需要这个变量。
要是两次请求都如你的例子放到一起,又无法获取输入的验证码的变量。
发表于 2018-7-28 17:06:22 | 显示全部楼层
sufeinet 发表于 2018-7-28 11:21
[mw_shl_code=csharp,true]using System;
using System.Collections.Generic;
using System.ComponentM ...

嗯,谢谢,在今天一天的研究中也发现这个方法了。
现在的源码例子很多都有些旧了,站长可否不定期更新一些示例的demo配合教程区的例子。这样新手们研究起来也比较容易。我们作为新手也不想麻烦您给您私人发消息的。
有例子,很多代码书写格式就不会错。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-5-19 09:17

© 2014-2021

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