绕过CSDN 爬虫限制

2022-03-12 15:40:39 浏览数 (1)

今天准备整理书签,首选 Visual Studio Code 正则过滤 Sublime Text 多选删除,

删除到一半,我需要知道目标网址的 description img 等信息,

我想干脆 requests 请求 text 然后再正则很快就搞定了,没想到 请求 CSDN 无内容

requests 请求

代码语言:javascript复制
python3 -c 'import requests
requests.packages.urllib3.disable_warnings()
print(requests.get("https://blog.csdn.net/qq_33451584/article/details/119834318", timeout=5, verify=False).content.decode("utf-8"))'

urllib3请求

代码语言:javascript复制
python3 -c 'import urllib3
print(urllib3.PoolManager().urlopen("GET", "https://blog.csdn.net/qq_33451584/article/details/119834318").data)'

随机UA绕过

代码语言:javascript复制
python3 -c 'import requests, fake_useragent
headers = {"user-agent": fake_useragent.UserAgent().random}
requests.packages.urllib3.disable_warnings()
print(requests.get("https://blog.csdn.net/qq_33451584/article/details/119834318", headers=headers, timeout=5, verify=False).content.decode("utf-8"))'

httpx请求

代码语言:javascript复制
python3 -c 'import httpx
print(httpx.post('https://blog.csdn.net/qq_33451584/article/details/119834318').content)

aiohttp 请求

代码语言:javascript复制
python3 -c 'import asyncio, aiohttp
async def main(url):
    async with aiohttp.ClientSession() as client:
        resp = await client.post(url)
        result = await resp.read()
        print(result) 
asyncio.run(main("https://blog.csdn.net/qq_33451584/article/details/119834318"))'

反思

我觉得应该是 TLS 在作怪 by 百度 :https://baike.baidu.com/item/TLS协议/7129331

安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。较低的层为 TLS 记录协议,位于某个可靠的传输协议(例如 TCP)上面。

by wikipedia : https://zh.wikipedia.org/wiki/傳輸層安全性協定

传输层安全性协议(英语:Transport Layer Security,缩写:TLS)及其前身安全套接层(英语:Secure Sockets Layer,缩写:SSL)是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。网景公司(Netscape)在1994年推出首版网页浏览器-网景导航者时,推出HTTPS协议,以SSL进行加密,这是SSL的起源。IETF将SSL进行标准化,1999年公布TLS 1.0标准文件(RFC 2246)。随后又公布TLS 1.1(RFC 4346,2006年)、TLS 1.2(RFC 5246,2008年)和TLS 1.3(RFC 8446,2018年)。在浏览器、电子邮件、即时通信、VoIP、网络传真等应用程序中,广泛使用这个协议。许多网站,如Google、Facebook、Wikipedia等也以这个协议来创建安全连线,发送资料。目前已成为互联网上保密通信的工业标准。

SSL包含记录层(Record Layer)和传输层,记录层协议确定传输层数据的封装格式。传输层安全协议使用X.509认证,之后利用非对称加密演算来对通信方做身份认证,之后交换对称密钥作为会谈密钥(Session key)。这个会谈密钥是用来将通信两方交换的资料做加密,保证两个应用间通信的保密性和可靠性,使客户与服务器应用之间的通信不被攻击者窃听。

反爬虫用的最多的就是 TLS 指纹,同理 CobaltStrike 应该也存在指纹 可以看一下这篇文章 https://mp.weixin.qq.com/s/UId_UEdlRX1sS63Xeav5Uw

XRSec has the right to modify and interpret this article. If you want to reprint or disseminate this article, you must ensure the integrity of this article, including all contents such as copyright notice. Without the permission of the author, the content of this article shall not be modified or increased or decreased arbitrarily, and it shall not be used for commercial purposes in any way

0 人点赞