以下为总结内容
根据tls校验程度从小到大排序:
一、原生python层面修改tls套件
例题比赛平台19
1.requests中ssl修改
# -*- coding: utf-8 -*-
#例题比赛平台19
import requests
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.ssl_ import create_urllib3_context
CIPHERS = (
'ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:RSA+3DES:!aNULL:'
'!eNULL:!MD5'
)
headers = {
'accept': 'application/json, text/javascript, */*; q=0.01',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9',
'cache-control': 'no-cache',
'pragma': 'no-cache',
'user-agent': 'yuanrenxue.project',
'x-requested-with': 'XMLHttpRequest',
}
class DESAdapter(HTTPAdapter):
def init_poolmanager(self, *args, **kwargs):
context = create_urllib3_context(ciphers=CIPHERS)
kwargs['ssl_context'] = context
return super(DESAdapter, self).init_poolmanager(*args, **kwargs)
def proxy_manager_for(self, *args, **kwargs):
context = create_urllib3_context(ciphers=CIPHERS)
kwargs['ssl_context'] = context
return super(DESAdapter, self).proxy_manager_for(*args, **kwargs)
url = 'http://httpbin.org/get'
s = requests.Session()
s.mount('http://httpbin.org', DESAdapter())
rep = s.get(url,headers=headers)
print(rep.text)
2.request库引用ssl修改
# coding=utf8
# 2333333
# -*- coding: utf-8 -*-
# @Time : 2022/1/14 9:35
# @Author : Cocktail_py
import requests
import urllib3
url = 'https://match.yuanrenxue.cn/api/match/19'
urllib3.util.ssl_.DEFAULT_CIPHERS += 'HIGH:!DH:!aNULL'
headers = {
'accept': &