Python 签到网站,如果调用 COOKIES,能用多久是不是取决于 COOKIES 的有效期 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
wuyuchenshr
V2EX    Python

Python 签到网站,如果调用 COOKIES,能用多久是不是取决于 COOKIES 的有效期

  •  
  •   wuyuchenshr 2020-05-03 20:17:55 +08:00 5011 次点击
    这是一个创建于 1985 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1.我想用 python 签到一个网站,因为有滑动验证,我就想直接复制 cookies 来登陆签到,请问我这个程序能用多久,是不是取决于这个 cookies 的有效期?

    2.如果我想长期有效,是不是必须得通过账号密码登陆的方式来获取 cookies ?
    15 条回复    2020-05-07 19:37:48 +08:00
    hiccup00
        1
    hiccup00  
       2020-05-03 20:39:48 +08:00 via Android
    借楼求个有验证码的网站登录并签到的方法~
    ClericPy
        2
    ClericPy  
       2020-05-03 21:07:22 +08:00
    1. 先定时访问, 判断出 Cookie 实际有效期. 在 Cookie 字段里的 expire 或者 max age 是给浏览器看的, 有时候不是服务端那边的, 所以不保险.

    2. 长期有效方面, 如果你能用 Headless 或者正常的方式成功登录, 那只要有一步验活请求, 就知道 Cookie 失效时候刷新 Cookie 就好了.

    验证码方面大部分都用的机器视觉那些库做的, 滑动验证码我在 Headless 里用 dispatch Event 的方式拖拽每次都被反爬, 用 pyautogui 去拖拽就不会, 头疼...
    imdong
        3
    imdong  
       2020-05-03 21:13:08 +08:00
    回楼主:很多 Cookies 过期是客户端控制,所以果保存 Cookies 使用,弄不好就不会过期了。
    但是有些网站会识别 不同的浏览器 / 不同的 IP 会强制退出,所以具体情况具体分析,
    原则上,楼主的思路没错,直接保存 Cookies 使用,能解决绝大多数场景。

    回 @hiccup00 #1:创建 web 服务器,模拟正常请求获取验证码以后,使用 base64 img 返回给页面(一般会把对应的 cookies 也回给客户端),
    浏览器端手动输入验证码后,提交给服务器,服务器继续后续的登录请求。
    此方法不适用 拖动,点击类新型验证码。

    另外,曾设想过另一个想法(中间人攻击):
    服务器开启 http 代理,浏览器设置代理登录,登录成功后,服务器端窃取请求,即可。
    jugelizi
        4
    jugelizi  
       2020-05-03 21:24:39 +08:00
    实践出真知
    你既然经常用这个网站 可以尝试修改下浏览器中的 cookie 有效期
    有的网站 jwt 方案的几乎永久有效
    不排除服务器重启之类清空服务端登录信息的
    yukiloh
        5
    yukiloh  
       2020-05-03 21:38:10 +08:00
    我抓 smzdm 的登陆给看晕了,后来索性不登陆了
    luckyswag
        6
    luckyswag  
       2020-05-03 23:41:54 +08:00
    https://qiandao.today/
    crab
        7
    crab  
       2020-05-04 06:39:54 +08:00
    要长期肯定只能账号密码正常登陆,也就是失效后自动登陆。用 cookies 取决网站那边,有的持续访问会一直保持登陆状态,有的就不行。
    crella
        8
    crella  
       2020-05-04 10:15:12 +08:00 via Android
    水木社区的登录 cookie 我也是搞不清什么情况;浏览器复制 curl 命令,然后用 curl 发送,照样返回访客模式的 set-cookie,估计登录的时候有 js 动态计算一些东西。
    SenLief
        9
    SenLief  
       2020-05-04 10:35:56 +08:00
    cookie 长期应该不容易,一般还是要写模拟登录程序的。
    Virace
        10
    Virace  
       2020-05-04 12:04:10 +08:00 via Android
    觉得滑动验证不好过!如果自己用,其实可以再签到失败给自己发个邮件!手动更新 cookie,这也不乏是一种方法!
    cnzjl
        11
    cnzjl  
       2020-05-04 13:37:18 +08:00 via Android
    只能定时去刷新 cookie
    loli
        12
    loli  
       2020-05-04 14:43:41 +08:00
    @luckyswag
    我也有在用这个,好像也是 v2 老哥自建还开源了的,已经持续几年了吧。
    这里的 cookies 有效期我也奇怪,我电脑本地的 cookies 都失效了网站上的还能签到。
    还有就是好多地方都有防这个的,比方说地址带特征码的不知道怎么解决,formhash=e1ad8d3d 这种
    Qiled
        13
    Qiled  
       2020-05-05 23:08:58 +08:00
    @loli 你这个看着就是 DZ 论坛的。通常访问某个页面可以获得 formhash
    vagrantear
        14
    vagrantear  
       2020-05-07 16:13:51 +08:00   1
    @loli 主页有的,写个正则获取一下就行
    loli
        15
    loli  
       2020-05-07 19:37:48 +08:00
    @vagrantear
    请问下文档在哪呀? github 翻了半圈没找到里面说的文档在哪。
    在被关闭的 issues 里找到了个帖子,看了半天还是没明白这正则是什么格式。
    我只明白最基础的正则
    比方说 \?formhash=(.*?)\\ 匹配 html?formhash=e1ad8d3d\
    我这样写还是错的,匹配不到。
    他里面的例子有好多其他参数?
    比方说 redeem\?Once=(.*?)' 我翻了下只匹配 \?Once=(.*?)' ,redeem 好像是特殊参数。
    还有一些看都看不懂。。
    比方说
    type="hidden" value="(.*?)" name="once"
    type="password"\sclass="sl"\sname="(.*?)"
    我连要匹配的是什么都不知道,更不要说哪些是参数哪些是匹配词了。
    关于     帮助文档     自助推广系统     博客   &nbs; API     FAQ     Solana     3509 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 10:28 PVG 18:28 LAX 03:28 JFK 06:28
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86