网络请求 403 :未通过浏览器 TLS JA3 指纹的验证

未通过浏览器 TLS/JA3 指纹的验证

  • 在一次使用 python requests库 访问某个地址时,返回了 403 错误,起初以为是 IP 被加入了黑名单,但经过测试后发现,切换 IP 后仍然返回 403
  • 测试过程中偶然发现浏览器和 postman 可以正常访问,经过搜索资料知道,大概率是因为没有通过 浏览器 TLS/JA3 指纹的验证 被识别为爬虫,从而被禁止访问,可以通过以下三种常用方式解决。

使用httpx库(极力推荐)

import httpx

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36",
}

res = httpx.get(url='https://www.baidu.com/', headers=headers, timeout=10, verify=False)
print(res.text)

使用 pyhttpx 库(推荐)

import pyhttpx

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36",
}
session = pyhttpx.HttpSession()
res = session.get(url='https://www.baidu.com/',headers=headers)
print(res.text)

使用 curl_cffi 库(使用较少)

from curl_cffi import requests
res = requests.get(url='https://www.baidu.com/',impersonate="chrome101")
print(res.text)

什么是 403 错误

  • 在我们使用互联网浏览网站或进行网络请求时,有时会遇到一个称为“403 Forbidden”错误。这意味着服务器可以处理请求,但拒绝执行它。简而言之,没有权限访问所请求的资源。对于开发者和用户来说,了解这一错误及其解决方法非常重要。

造成 403 可能的原因

未授权的第三方访问

  • 某些API和资源可能要求特定的API密钥或认证令牌,如果未提供或提供错误,则会返回403错误。

目录浏览被禁用

  • 服务器配置禁止了目录浏览。如果请求的URL指向一个目录而不是具体文件,并且目录浏览被禁用,也会返回403错误。

黑名单和白名单设置

  • 服务器可能使用黑名单或白名单来控制访问。请求的来源可能在黑名单上,因此被拒绝访问。
  • 黑名单常见比如 IP 被加入黑名单、被识别为爬虫(频繁访问、未通过浏览器 TLS/JA3 指纹的验证)等等。

个人简介

👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.

🚀 我对技术的热情是我不断学习和分享的动力。我的博客是一个关于Java生态系统、后端开发和最新技术趋势的地方。

🧠 作为一个 Java 后端技术爱好者,我不仅热衷于探索语言的新特性和技术的深度,还热衷于分享我的见解和最佳实践。我相信知识的分享和社区合作可以帮助我们共同成长。

💡 在我的博客上,你将找到关于Java核心概念、JVM 底层技术、常用框架如Spring和Mybatis 、MySQL等数据库管理、RabbitMQ、Rocketmq等消息中间件、性能优化等内容的深入文章。我也将分享一些编程技巧和解决问题的方法,以帮助你更好地掌握Java编程。

🌐 我鼓励互动和建立社区,因此请留下你的问题、建议或主题请求,让我知道你感兴趣的内容。此外,我将分享最新的互联网和技术资讯,以确保你与技术世界的最新发展保持联系。我期待与你一起在技术之路上前进,一起探讨技术世界的无限可能性。

📖 保持关注我的博客,让我们共同追求技术卓越。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lorin 洛林

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值