+
+ api_inst = None
+ # preferred strategy : select tlsv1 as the encryption protocol
+ try:
+ ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
+ api_inst = xmlrpclib.ServerProxy(server_url,
+ context=ssl_context,
+ verbose=0)
+ # this is only supported in python >= 2.7.9 though, so allow for failure
+ except:
+ print("Default xmlrpclib strategy failed")
+ import traceback
+ traceback.print_exc()
+ pass
+
+ # if that failed, resort to the old-fashioned code
+ if api_inst is None:
+ api_inst = xmlrpclib.ServerProxy(server_url, verbose=0)