我想知道如何发出一个典型的网络请求(例如使用 python 请求),它将能够完美地模拟网络浏览器。我不是在谈论微不足道的用户代理,而是在谈论 Client Hello 消息,其中包括密码套件顺序等内容。
例如,我向https://www.ssllabs.com/ssltest/viewMyClient.html发出请求,保存输出并将结果与常规 Chrome 浏览器显示的结果进行比较。
这是我到目前为止所拥有的(非常丑陋......我正在使用多个适配器)
import requests
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.ssl_ import create_urllib3_context
import re
import json
import random
import subprocess
import os
from requests.packages.urllib3.poolmanager import PoolManager
from requests.packages.urllib3.util import ssl_
from urllib3.poolmanager import PoolManager
from requests.adapters import HTTPAdapter
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.ssl_ import create_urllib3_context
# This is the 2.11 Requests cipher string, containing 3DES.
CIPHERS = (
'ECDH+AESGCM:ECDH+AES256:ECDH+AES128:'
'RSA+AESGCM'
)
class DESAdapter(HTTPAdapter):
"""
A TransportAdapter that re-enables 3DES …Run Code Online (Sandbox Code Playgroud)