From a6e2dfc0da8674fedf2ecd49b37a9f85a7698797 Mon Sep 17 00:00:00 2001 From: Franklin-F Date: Wed, 28 May 2025 21:31:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=20dailymotion=5Fgrap?= =?UTF-8?q?hql.pem=20=E8=AF=81=E4=B9=A6=E6=96=87=E4=BB=B6=E5=B9=B6?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=20SSL=20=E9=AA=8C=E8=AF=81=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dailymotion_graphql.pem | 28 ++++++++++++++++++++++++++++ main.py | 9 +++++++-- 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 dailymotion_graphql.pem diff --git a/dailymotion_graphql.pem b/dailymotion_graphql.pem new file mode 100644 index 0000000..0f01d8d --- /dev/null +++ b/dailymotion_graphql.pem @@ -0,0 +1,28 @@ +-----BEGIN CERTIFICATE----- +MIIEzzCCBFWgAwIBAgIQHke3FNgJ7WghTUelVliaWTAKBggqhkjOPQQDAzBLMQsw +CQYDVQQGEwJBVDEQMA4GA1UEChMHWmVyb1NTTDEqMCgGA1UEAxMhWmVyb1NTTCBF +Q0MgRG9tYWluIFNlY3VyZSBTaXRlIENBMB4XDTI1MDQxMjAwMDAwMFoXDTI1MDcx +MTIzNTk1OVowJjEkMCIGA1UEAxMbZ3JhcGhxbC5hcGkuZGFpbHltb3Rpb24uY29t +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqGEMw4wIBXw1oZPq8KWw91YYikw8 +RHbjsBTzCo0k/q1FM92dHejX9Is7n1jmtq1ZxyzbenGJtavo4gQyMtlPiaOCAz4w +ggM6MB8GA1UdIwQYMBaAFA9r5kvOOUeu9n6QHnnwMJGSyF+jMB0GA1UdDgQWBBQt +cMD/xII0CjBpheFUXI6LEW5F+DAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIw +ADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwSQYDVR0gBEIwQDA0Bgsr +BgEEAbIxAQICTjAlMCMGCCsGAQUFBwIBFhdodHRwczovL3NlY3RpZ28uY29tL0NQ +UzAIBgZngQwBAgEwgYgGCCsGAQUFBwEBBHwwejBLBggrBgEFBQcwAoY/aHR0cDov +L3plcm9zc2wuY3J0LnNlY3RpZ28uY29tL1plcm9TU0xFQ0NEb21haW5TZWN1cmVT +aXRlQ0EuY3J0MCsGCCsGAQUFBzABhh9odHRwOi8vemVyb3NzbC5vY3NwLnNlY3Rp +Z28uY29tMIIBBAYKKwYBBAHWeQIEAgSB9QSB8gDwAHUA3dzKNJXX4RYF55Uy+sef ++D0cUN/bADoUEnYKLKy7yCoAAAGWJ1/B1AAABAMARjBEAiBUTv0pR0gVARs/asSb +1or95ZItnOY+pWk+InfHlGF89AIgaLPHHt0orri+mFCWxAr+GVfjqnSGFN083LvQ +rq7SEckAdwAN4fIwK9MNwUBiEgnqVS78R3R8sdfpMO8OQh60fk6qNAAAAZYnX8Fr +AAAEAwBIMEYCIQDsXV8jML7UuqqIEp/0K8xmUaPg5qi+0BHAVvD8Zq/uTQIhANL3 +DETt3uFz8S+QSqcgAxa/PL6Su954dTs1J10NUBgYMIHcBgNVHREEgdQwgdGCG2dy +YXBocWwuYXBpLmRhaWx5bW90aW9uLmNvbYIfZ3JhcGhxbC1kYzMuYXBpLmRhaWx5 +bW90aW9uLmNvbYIfZ3JhcGhxbC1peDcuYXBpLmRhaWx5bW90aW9uLmNvbYIoZ3Jh +cGhxbC1vcmlnaW4tc3RhZ2UuYXBpLmRhaWx5bW90aW9uLmNvbYIjZ3JhcGhxbC1w +cmVwcm9kLmFwaS5kYWlseW1vdGlvbi5jb22CIWdyYXBocWwtc3RhZ2UuYXBpLmRh +aWx5bW90aW9uLmNvbTAKBggqhkjOPQQDAwNoADBlAjAYtsRYMebVnVobphLAH86V +2xxaQ3mPa60ZhlQ1pFKUuDcAaNuTg+8uSHLVicTYZbMCMQDTIoBqmb1x7rGSzGS8 +ScXTNpg5Jl7QtOV13qLCBurgT2TdLJ29cdujl3Qy+S5TVkA= +-----END CERTIFICATE----- \ No newline at end of file diff --git a/main.py b/main.py index 6310127..307a029 100644 --- a/main.py +++ b/main.py @@ -15,6 +15,11 @@ import copy from threading import Lock from concurrent.futures import ThreadPoolExecutor, as_completed from logger import logger +import os + +BASE_DIR = os.path.dirname(os.path.abspath(__file__)) +# 构造证书文件绝对路径 +DEFAULT_CACERT = os.path.join(BASE_DIR, 'dailymotion_graphql.pem') db = DBVidcon() MACHINE_ID = None @@ -144,7 +149,7 @@ def post_with_retry(url, proxy_name, json_payload=None, data=None, headers=None, proxies=proxies, timeout=timeout, allow_redirects=True, # 允许重定向 - verify=False, # 不验证 SSL 证书 + verify=DEFAULT_CACERT, # 不验证 SSL 证书 ) if resp.status_code == 401 and not token_refreshed: if verbose: @@ -210,7 +215,7 @@ def gettoken(proxy, r=2): try: proxy_str = db.get_proxy(proxy) url = 'https://graphql.api.dailymotion.com/oauth/token' - response = requests.post(url, headers=headers, data=data, proxies={"http": proxy_str, "https": proxy_str}) + response = requests.post(url, headers=headers, data=data, proxies={"http": proxy_str, "https": proxy_str},verify=DEFAULT_CACERT) token = response.json()['access_token'] copy_headers = copy.deepcopy(headers1) copy_headers['authorization'] = "Bearer " + token