标题:爬取管家婆进销存数据遇到的困难,ati是个什么玩意?
只看楼主
EviunExcel
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2021-9-24
结帖率:50%
已结贴  问题点数:20 回复次数:10 
爬取管家婆进销存数据遇到的困难,ati是个什么玩意?
各位大侠,因工作需要爬取管家婆进销存数据,在首页登录时就遇到了困难,我用post请求登录系统,报以下是错误代码:
{"code":"500","message":"JSON parse error: Unrecognized token 'ati': was expecting ('true', 'false' or 'null'); nested exception is com.fasterxml.jackson.core.JsonParseException:
这里面的ati是个什么东西呢?好像每天都在变化!又无法找到规律和来源,请各位大侠帮忙看看,十分感谢!
搜索更多相关主题的帖子: 数据 登录 null 困难 进销存 
2023-03-22 09:33
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
回复 楼主 EviunExcel
公布你要爬取的地址和你要爬取的数据

DO IT YOURSELF !
2023-03-22 13:59
东海ECS
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:Python
等 级:版主
威 望:19
帖 子:376
专家分:1454
注 册:2023-1-24
得分:10 
"ati"是防止跨站请求伪造(CSRF)攻击所需的一个参数,通常是由服务器生成并发送到客户端。CSRF攻击是一种利用被攻击用户在某个网站上已登录的身份来进行攻击的方式,攻击者可以通过伪造用户请求来执行某些操作。为了防止这种攻击,服务器会在用户登录或进行某些敏感操作时生成一个随机的ati参数,然后将其发送到客户端,在客户端提交请求时将ati一并提交,服务器会验证ati的正确性。
由于ati是由服务器生成的,因此每次登录或进行敏感操作时都会发生变化。如果你使用的是自动化爬虫工具,可能会因为ati参数的变化而无法成功登录。为了解决这个问题,你需要在每次登录之前从首页获取最新的ati参数,然后将其带入登录请求中。通常,ati参数可以通过解析首页的HTML文档或从响应的JSON数据中获取。

会当凌绝顶,一览众山小.
2023-03-22 19:04
EviunExcel
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2021-9-24
得分:0 
回复 2楼 wp231957
感谢回复,是公司内部数据,需要账号和密码,所以暂时没法公布哦!
2023-03-23 08:48
EviunExcel
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2021-9-24
得分:0 
回复 3楼 东海ECS
感谢版主的解答,原来是这样,我顺着版主的思路去首页找ati,没有找到,但是发现这两个不知道是啥的东西,name="__VIEWSTATE"和name="__VIEWSTATEGENERATOR",不知道这个ati是否跟这两有关联?
2023-03-23 08:52
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
回复 4楼 EviunExcel
那就没办法了,自己慢慢研究吧

DO IT YOURSELF !
2023-03-23 09:06
EviunExcel
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2021-9-24
得分:0 
回复 6楼 wp231957
好的,谢谢版主
2023-03-23 09:09
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:5 
回复 7楼 EviunExcel
可以尝试selenium系列???

DO IT YOURSELF !
2023-03-23 09:20
EviunExcel
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2021-9-24
得分:0 
回复 8楼 wp231957
是的,再研究一下,实在不行就只能selenium试试了
2023-03-23 09:55
sheeboard
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:6
帖 子:42
专家分:179
注 册:2023-2-16
得分:5 
有些网站验证是发送用户信息+时间的哈希值,是客户端的js代码生成的,然后服务端返回token,需要用requtests html,它装有一个chromim的内核来执行js,selenium相对简单一些,只是需要不断切换frame。
2023-03-25 07:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511630-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.177469 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved