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