小编Cli*_*bye的帖子

如何发出模拟浏览器的Web请求(即TLS握手/客户端问候)?

我想知道如何发出一个典型的网络请求(例如使用 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)

python ssl httpwebrequest python-requests

2
推荐指数
1
解决办法
2747
查看次数

标签 统计

httpwebrequest ×1

python ×1

python-requests ×1

ssl ×1