吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2598|回复: 12
收起左侧

[求助] 和浏览器一样的header但是用脚本get和post就会被cloudflare拦截怎么办?

  [复制链接]
netspirit 发表于 2022-6-17 03:26
有个网站我想弄个签到脚本,还有其他功能的脚本.
经过我测试我发现了一系列很奇怪的现象:
1.在进行签到的时候,使用的是get.浏览器打开签到页面完全正常,不会出现cloudlfare拦截的页面.
2.把浏览器的访问记录保存为har文件并使用签到工具打开,会触发cloudflare的拦截.(里面包括了完整的浏览器所有的headers,完全一模一样的)
3.然后我调节har文件的顺序,把里面的headers的各个项目顺序调整成了和浏览器里面按f12看到的一样的顺序.就是har里面是cookie在最后面,但是f12看到的是user-agent在最后面.我调成浏览器f12里面user-agent在最后面使用签到工具也能成功签到不会被拦截了
4.然后我使用抓包工具看了一下,发现浏览器真实提交的数据和f12里面的顺序不一样.是cookie在最后面的.也就是说har里面那个被cloudflare拦截的headers顺序才是浏览器真实的headers顺序?但是为啥浏览器不会被拦截但是签到工具会被拦截呢?为啥改了顺序以后反而又不会被拦截了呢?(我知道har里面多了几个冒号开头的东西.我把那些东西删掉也一样会被拦截的)
5.然后我需要post一些数据.post的是一个表单和一个文件.我用的是request(files=xxx,data=xxx)            session1.headers.clear()
            session1.headers.update(headers)这样的形式.我以前在其他网站这样子post是没有问题的.但是在这个有cloudflare的网站总是被拦截.
然后最神奇的事情发生了:我在post的时候如果直接运行python那么就会提示403.但是我在post的时候打开了fiddler,那就可以正常返回结果了.也就是说fiddler自动帮我修复了post里面错误的信息?但是我哪里有错误?为啥我开着fiddler post就能成功,关掉fiddler去post就会失败?



然后fiddler我也不知道怎么设置,我用fiddler5的时候chrome老是提示证书不安全然后打不开网页.我添加了系统信任证书了还是提示我证书不安全.安卓模拟器雷电3.0也是.导入证书之后老是提示不安全.我无论在电脑还是安卓模拟器都信任证书了,但是就是一直给我提示不安全,这个又怎么解决啊?

免费评分

参与人数 1热心值 +1 收起 理由
1MajorTom1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

wind.shell 发表于 2022-6-17 08:17
我在post的时候如果直接运行python那么就会提示403.但是我在post的时候打开了fiddler,那就可以正常返回结果了
这个是不是因为你Python里设置了fiddler的监听地址和端口,不开fiddler的情况下,Python是无法连接到指定的地址和端口。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
netspirit + 1 + 1 不是的,proxies是后来改的 刚开始是返回的403

查看全部评分

漁滒 发表于 2022-6-17 08:41
你这句[但是我在post的时候打开了fiddler,那就可以正常返回结果了]就很明显了。网站校验了ja3,你打开fd的时候,是用fd发出的ja3,不打开的时候是python的ja3

免费评分

参与人数 1热心值 +1 收起 理由
netspirit + 1 感谢漁滒好厉害 我去查查

查看全部评分

hy418474 发表于 2022-6-17 08:44
Python里设置了fiddler的监听地址和端口,不开fiddler的情况下,Python是无法连接到指定的地址和端口。

免费评分

参与人数 1吾爱币 +1 收起 理由
netspirit + 1 不是的.之前我没开fiddler也没设置使用fiddler端口

查看全部评分

狒狒大魔王 发表于 2022-6-17 08:46
绕过cloudflare 5s 墙
1.
[Python] 纯文本查看 复制代码
pip install cloudscraper

2.
[Python] 纯文本查看 复制代码
import cloudscraper
scraper = cloudscraper.create_scraper()
print(scraper.get("https://www.xxxx.com").text)

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
netspirit + 1 + 1 谢谢@Thanks!

查看全部评分

漁滒 发表于 2022-6-17 09:25

大部分没有用,只能用于极少部分ja3检测不严格的
刘涛 发表于 2022-6-17 09:32
漁滒 发表于 2022-6-17 09:25
大部分没有用,只能用于极少部分ja3检测不严格的

渔佬,那像一些文章写的,修改python源码的有用吗,类似这篇文章
https://blog.51cto.com/u_15023263/3790959
蓝风 发表于 2022-6-17 09:48
关注一下,看看有没有比较好的解决方案
CDCBB 发表于 2022-6-17 10:17
本帖最后由 CDCBB 于 2022-6-17 10:18 编辑

可能尝试以下两种方案,一、模拟正常浏览器user-agent,二、调低请求频率
漁滒 发表于 2022-6-17 10:35
刘涛 发表于 2022-6-17 09:32
渔佬,那像一些文章写的,修改python源码的有用吗,类似这篇文章
https://blog.51cto.com/u_15023263/37 ...

对于一些不严格的就有用。cloudscraper库和你这个文章一样,都是只修改了请求头和TLS中的加密套件
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 07:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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