Allow SSL cert verify override on Plex.tv requests.

This commit is contained in:
Tim 2015-08-12 23:18:37 +02:00
parent 2c77f2df98
commit d345893529
2 changed files with 13 additions and 4 deletions

View file

@ -18,16 +18,18 @@ from plexpy import logger, helpers
from httplib import HTTPSConnection
from httplib import HTTPConnection
import ssl
class HTTPHandler(object):
"""
Retrieve data from Plex Server
"""
def __init__(self, host, port, token):
def __init__(self, host, port, token, ssl_verify=True):
self.host = host
self.port = str(port)
self.token = token
self.ssl_verify = ssl_verify
"""
Handle the HTTP requests.
@ -50,9 +52,14 @@ class HTTPHandler(object):
if uri:
if proto.upper() == 'HTTPS':
handler = HTTPSConnection(self.host, self.port, timeout=10)
if not self.ssl_verify:
context = ssl._create_unverified_context()
handler = HTTPSConnection(host=self.host, port=self.port, timeout=10, context=context)
logger.warn(u"PlexPy HTTP Handler :: Unverified HTTPS request made. This connection is not secure.")
else:
handler = HTTPConnection(self.host, self.port, timeout=10)
handler = HTTPSConnection(host=self.host, port=self.port, timeout=10)
else:
handler = HTTPConnection(host=self.host, port=self.port, timeout=10)
token_string = ''
if not no_token:

View file

@ -89,10 +89,12 @@ class PlexTV(object):
self.protocol = 'HTTPS'
self.username = username
self.password = password
self.ssl_verify = plexpy.CONFIG.VERIFY_SSL_CERT
self.request_handler = http_handler.HTTPHandler(host='plex.tv',
port=443,
token=plexpy.CONFIG.PMS_TOKEN)
token=plexpy.CONFIG.PMS_TOKEN,
ssl_verify=self.ssl_verify)
def get_plex_auth(self, output_format='raw'):
uri = '/users/sign_in.xml'