加密方式:五秒盾 Cloudflare 解决方案:使用docker中的内置浏览器
目标URL:aHR0cHM6Ly93d3cuYXN4cy5jb20v
步骤一、在Linux中使用Docker命令docker上安装内置浏览器
步骤二、开启服务器的端口,令外界与服务器可以通信
步骤三、对服务器传入待访问的URL,返回html响应数据
步骤一、在Linux中使用Docker命令docker上安装内置浏览器
docker run -d \
--name=flaresolverr \
-p 8191:8191 \
-e LOG_LEVEL=info \
--restart unless-stopped \
ghcr.io/flaresolverr/flaresolverr:latest
步骤二、开启服务器的端口
这一步在自己的服务器管理界面进行开放接口,默认使用的是8191端口,即在管理界面开启8191端口用于后续的正常通信
步骤三、对服务器传入待访问的URL,返回html响应数据
使用Python写一个函数令其进行URL的传输以及返回的响应数据接收
def get_html_data(url):
'''
# 五秒盾,需要使用docker中的内置浏览器
# sever_url 为开启服务器的地址,其中 v1 不能变
'''
sever_url = 'http://xx.xxx.xxx.xxx:8191/v1' # 这里的xxx填自己的服务器地址,端口8191不变
payload = json.dumps({
"cmd": "request.get",
"url": url,
"maxTimeout": 6000
})
headers = {'Content-Type': 'application/json'}
response = requests.post(sever_url, headers=headers, data=payload)
if response.status_code == 200:
html_content = response.json()['solution']['response']
else:
print("================= 访问失败,重新访问中 =================")
html_content = get_html_data(url)
return html_content