import random
import requests
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.ssl_ import create_urllib3_context
ORIGIN_CIPHERS = (
'ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+HIGH:DH+HIGH:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+HIGH:RSA+3DES')
class DESAdapter(HTTPAdapter):
def __init__(self, *args, **kwargs):
# 在请求中重新启用 3DES 支持的 TransportAdapter
CIPHERS = ORIGIN_CIPHERS.split(":")
random.shuffle(CIPHERS)
# print("1:", CIPHERS)
CIPHERS = ":".join(CIPHERS)
# print("2:", CIPHERS)
self.COPHERS = CIPHERS + ":!aNULL:!eNULL:!MD5"
super(DESAdapter, self).__init__(*args, **kwargs)
# 在一般情况下,当我们实现一个子类的时候,__init__的第一行应该是super().__init__(*args, **kwargs),
# 但是由于init_poolmanager和proxy_manager_for是复写了父类的两个方法,
# 这两个方法是在执行super().__init__(*args, **kwargs)的时候就执行的。
# 所以,我们随机设置 Cipher Suits 的时候,需要放在super().__init__(*args, **kwargs)的前面。
def init_poolmanager(self, *args, **kwargs):
context = create_urllib3_context(ciphers=self.COPHERS)
kwargs["ssl_context"] = context
return super(DESAdapter, self).init_poolmanager(*args, **kwargs)
def proxy_manager_for(self, *args, **kwargs):
context = create_urllib3_context(ciphers=self.COPHERS)
kwargs["ssl_context"] = context
if __name__ == '__main__':
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67'}
s = requests.Session()
s.headers.update(headers)
for _ in range(5):
# 其中,s.mount的第一个参数表示这个适配器只在https://ja3er.com开头的网址中生效
s.mount("https://ja3er.com", DESAdapter())
response = s.get("https://ja3er.com/json").json()
print(response)
相关推荐
过tls ja3浏览器指纹方法总结
根据tls校验程度从小到大排序,总结了过tls指纹的方法,方法有些新的有些旧的
Python maximum recursion depth exceeded while calling a Python object (gevent的SSL无限递归错误)的问题解决
报错信息 源码位置 分析 很尴尬,完全看不出原因导致这个报错 解决方法 通过删除代码的方式一部一部删除,找到了问题出处 原因是包的顺序出现了问题,把位置互换一下,发现没有报错了,但是很明确的告诉你这两个包没有交互关系,没有依赖关系,但是就是这么神奇 ...
Python爬虫如何通过TLS指纹模拟绕过Cloudflare等反爬验证
在网络爬虫开发中,TLS握手是客户端与服务器建立加密连接的关键步骤。其原理在于,客户端在ClientHello报文中会携带TLS版本、加密套件列表和扩展等信息,这些信息的组合形成了唯一的TLS指纹(如JA3哈希)。这项技术的价值在于,它是现代Web应用防火墙(WAF)和反爬系统识别自动化脚本的核心依据。当爬虫使用标准库(如requests)时,其默认的TLS指纹特征与真实浏览器(如Chrome、Firefox)存在显著差异,极易触发防护机制,导致请求被拦截并返回“Just a moment...”等质询页面
深度剖析ja3指纹及突破
文章较之前有部分改动,对理解ja3来说不影响的。因为某大佬看了我的文章后说我的方法其实不是完美突破,所以完美两个字没了。可能有朋友会说"你这不是在炒冷饭吗?没意思”,不不,完全没这想法。我想的是1.为了留存备份,等我老了可以给子孙后代看,这个是我写的。2.以后大家不用再拿着那个pdf私下转发了。
绕过TLS/akamai指纹护盾
TLS指纹是一种用于识别和验证TLS(传输层安全)通信的技术。TLS指纹可以通过检查TLS握手过程中使用的密码套件、协议版本和加密算法等信息来确定TLS通信的特征。由于每个TLS实现使用的密码套件、协议版本和加密算法不同,因此可以通过比较TLS指纹来判断通信是否来自预期的源或目标。TLS指纹可以用于检测网络欺骗、中间人攻击、间谍活动等安全威胁,也可以用于识别和管理设备和应用程序。
Claude Code + 自定义模型体验
AI 编程工具的发展突飞猛进:Cursor 横空出世,推出了“Agent 模式”;新竞争者如 Windsurf 也纷纷加入战局。几乎所有产品都开始转向“代理式(agentic)”开发模式——不再依赖单次 LLM 响应进行补全,而是让大模型在一个循环中调用各种工具,来完成更复杂的任务:分析代码库上下文、读取网页与文档、编译程序、运行测试、修复失败构建或测试、不断迭代等。
TLS指纹校验原理和绕过
浏览器可以正常访问,但是用requests发送请求失败。后端是如何监测得呢?为什么浏览器可以返回结果,而requests模块不行呢?
Python实战:5分钟搞定滑动平均窗口计算(附完整代码+逐行注释)
本文深入解析Python中滑动平均窗口计算的实现与优化,提供Numpy、Pandas等多种高效方案,并附完整代码和逐行注释。涵盖边界处理、性能优化及异常检测等实战技巧,帮助开发者快速掌握时间序列数据处理的核心技术。
绕过tls校验常用方法
【代码】绕过tls校验常用方法。
AURIX™ TC49x芯片手册中文分享(二)
主要内容为第一章、功能模块的特征
QSPI Flash的原理与QSPI时序的Verilog实现
本节主要是讨论QSPI(Quad SPI,四线SPI总线)的相关内容。我的开发板上有一片型号是W25Q128BV的Quad SPI Flash存储器,本文将以它为例子来说明QSPI操作的一些内容。
为什么你的爬虫能被识别到?
反爬机制是网站和服务器采用的方法,用于防止恶意爬虫和机器人访问其内容或资源。请注意,这些反爬机制可能会影响合法的网络爬虫和数据采集。爬虫开发者需要遵守网站的规则和政策,确保他们的活动是合法的,并避免过度频繁地请求网站。
粒子群算法Particle Swarm Optimization超详细解析+代码实例讲解
粒子群算法,也称粒子群优化算法或鸟群觅食算法(Particle Swarm Optimization),缩写为 PSO, 是近年来由J. Kennedy和R. C. Eberhart等开发的一种新的进化算法(Evolutionary Algorithm - EA)。
【那些反爬和反反爬】JA3指纹
而Fiddler则更侧重于Web应用程序的调试和分析,它提供了更高级的功能,可以拦截、修改和监控特定的HTTP/HTTPS请求和响应。通过观察和分析网络流量中的TLS握手消息,可以提取并计算出相应的JA3指纹。需要注意的是,由于JA3指纹是基于客户端发送的握手消息生成的,因此可能会受到一些因素的影响,例如中间人攻击、网络代理等。总结来说,Wireshark和Fiddler是两个功能强大的网络分析工具,Wireshark适用于全面的网络协议分析,而Fiddler更适合于Web应用程序的调试和分析。
【数据集】中国区域地面气象要素驱动数据集(CMFD)2.0
中国区域地面气象要素驱动数据集(CMFD)2.0
ABAP RAP 行为建模深入学习:从 Behavior Definition 到 Behavior Implementation 的完整实践指南
ABAP RAP开发指南:业务行为定义与实现 本文介绍SAP RAP框架中业务对象行为的开发方法: 分层设计 Behavior Definition声明业务能力(增删改查、校验、动作等) Behavior Implementation在ABAP类中编写具体逻辑 核心组件 使用BDL定义业务行为 通过FOR BEHAVIOR OF绑定行为池类(ABP) 在本地类实现校验/确定/动作逻辑 关键特性 支持managed/unmanaged两种实现模式 提供草稿表、并发控制等企业级功能 通过EML以别名访问实体 开
Python requests 如何突破反爬虫指纹 JA3算法
这是「进击的Coder」的第 466 篇技术分享 作者:kingname 来源:未闻 Code “ 阅读本文大概需要 6 分钟。 ” 在前几天的文章《为什么随机 IP、随机 UA 也逃不掉被反爬虫的命运》里面,我介绍了 JA3 指纹算法。这个算法可以在你改掉 IP 和 UA 的情况下依然识别到你。 今天,我们来介绍如何在 Python 里面,使用 requests 请求网站的时候,修改 JA3指纹。 requests 是基于 urllib3 实现的。要修改 JA3 相关的底...
Python 爬虫实战:解析 JSON 数据爬取今日头条热点新闻(API 接口逆向与字段提取)
在当今信息爆炸的时代,新闻资讯的获取变得尤为重要。今日头条作为国内领先的新闻聚合平台,其热点新闻数据具有很高的价值。本文将详细介绍如何通过 Python 爬虫技术,逆向解析今日头条的 API 接口,提取并解析 JSON 数据,最终获取热点新闻信息。
python解决JA3 TLS指纹反爬几种方案
【代码】python解决JA3 TLS指纹反爬几种方案。
IMSL CNL 7.0.0 (x86-64)Crack
IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件
廖雪峰Python教程[完整版]
廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白
某网站指纹反爬处理
指纹技术就是通过不同的设备和客户端在参数上的微妙差异来识别用户。本来按照规范, 这些值都是应该任意选取的,但是,现实世界中,服务端反而对不同值采取了区别对待。指纹技术 可以说应用到了 OSI 网络模型中所有可能的层,基于 HTTP header 顺序的指纹工作在第七层应用层, SSL/TLS 指纹工作在传输层和应用层之间,TCP 指纹在第四层传输层。而在 TCP 之下的 IP 层和物理 层,因为建立的不是端到端的链路,所以只能收集上一跳的指纹,没有任何意义。
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
requests,golang版http请求,支持Ja3指纹修改
golang版requests,使用方式跟python版requests极其相似,欢迎各位大佬使用! requests支持以下新特性: 1. 支持http2,默认以http2进行连接,连接失败后会进行退化而进行http1.1连接 2. 支持JA3指纹修改 3. 支持http2+JA3指纹 4. 支持在使用代理的基础上修改JA3指纹
Python 如何突破反爬虫指纹 JA3
这是「进击的Coder」的第 466篇技术分享作者:kingname来源:未闻 Code“ 阅读本文大概需要 6 分钟。 ”在前几天的文章《为什么随机 IP、随机 UA 也逃不掉被反爬虫...
【Python工程师之requests如何突破 JA3 指纹】
之前一期我讲过怎么利用scrapy去突破指纹,这一期来讲讲怎么用python原生库requests突破指纹。
2078



被折叠的 条评论
为什么被折叠?



