mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	Add --no-check-certificate (#814)
This commit is contained in:
		| @@ -149,6 +149,7 @@ def parseOpts(overrideArguments=None): | ||||
|             action='store_true', dest='list_extractors', | ||||
|             help='List all supported extractors and the URLs they would handle', default=False) | ||||
|     general.add_option('--proxy', dest='proxy', default=None, help='Use the specified HTTP/HTTPS proxy', metavar='URL') | ||||
|     general.add_option('--no-check-certificate', action='store_true', dest='no_check_certificate', default=False, help='Suppress HTTPS certificate validation.') | ||||
|     general.add_option('--test', action='store_true', dest='test', default=False, help=optparse.SUPPRESS_HELP) | ||||
|  | ||||
|     selection.add_option('--playlist-start', | ||||
| @@ -395,7 +396,7 @@ def _real_main(argv=None): | ||||
|         if 'http' in proxies and 'https' not in proxies: | ||||
|             proxies['https'] = proxies['http'] | ||||
|     proxy_handler = compat_urllib_request.ProxyHandler(proxies) | ||||
|     https_handler = compat_urllib_request.HTTPSHandler() | ||||
|     https_handler = make_HTTPS_handler(opts) | ||||
|     opener = compat_urllib_request.build_opener(https_handler, proxy_handler, cookie_processor, YoutubeDLHandler()) | ||||
|     compat_urllib_request.install_opener(opener) | ||||
|     socket.setdefaulttimeout(300) # 5 minutes should be enough (famous last words) | ||||
|   | ||||
| @@ -438,6 +438,20 @@ def formatSeconds(secs): | ||||
|     else: | ||||
|         return '%d' % secs | ||||
|  | ||||
| def make_HTTPS_handler(opts): | ||||
|     if sys.version_info < (3,2): | ||||
|         # Python's 2.x handler is very simplistic | ||||
|         return compat_urllib_request.HTTPSHandler() | ||||
|     else: | ||||
|         import ssl | ||||
|         context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) | ||||
|         context.set_default_verify_paths() | ||||
|          | ||||
|         context.verify_mode = (ssl.CERT_NONE | ||||
|                                if opts.no_check_certificate | ||||
|                                else ssl.CERT_REQUIRED) | ||||
|         return compat_urllib_request.HTTPSHandler(context=context) | ||||
|  | ||||
| class ExtractorError(Exception): | ||||
|     """Error during info extraction.""" | ||||
|     def __init__(self, msg, tb=None): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user