本文整理匯總了Python中requests.exceptions.SSLError方法的典型用法代碼示例。如果您正苦於以下問題:Python exceptions.SSLError方法的具體用法?Python exceptions.SSLError怎麽用?Python exceptions.SSLError使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類requests.exceptions
的用法示例。
在下文中一共展示了exceptions.SSLError方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: test_do_api_call_succeeds_after_retrying
# 需要導入模塊: from requests import exceptions [as 別名]
# 或者: from requests.exceptions import SSLError [as 別名]
def test_do_api_call_succeeds_after_retrying(self):
for exception in [requests_exceptions.ConnectionError,
requests_exceptions.SSLError,
requests_exceptions.Timeout,
requests_exceptions.ConnectTimeout,
requests_exceptions.HTTPError]:
with mock.patch('airflow.providers.databricks.hooks.databricks.requests') as mock_requests:
with mock.patch.object(self.hook.log, 'error') as mock_errors:
setup_mock_requests(
mock_requests,
exception,
error_count=2,
response_content={'run_id': '1'}
)
response = self.hook._do_api_call(SUBMIT_RUN_ENDPOINT, {})
self.assertEqual(mock_errors.call_count, 2)
self.assertEqual(response, {'run_id': '1'})
示例2: test_do_api_call_waits_between_retries
# 需要導入模塊: from requests import exceptions [as 別名]
# 或者: from requests.exceptions import SSLError [as 別名]
def test_do_api_call_waits_between_retries(self, mock_sleep):
retry_delay = 5
self.hook = DatabricksHook(retry_delay=retry_delay)
for exception in [requests_exceptions.ConnectionError,
requests_exceptions.SSLError,
requests_exceptions.Timeout,
requests_exceptions.ConnectTimeout,
requests_exceptions.HTTPError]:
with mock.patch('airflow.providers.databricks.hooks.databricks.requests') as mock_requests:
with mock.patch.object(self.hook.log, 'error'):
mock_sleep.reset_mock()
setup_mock_requests(mock_requests, exception)
with self.assertRaises(AirflowException):
self.hook._do_api_call(SUBMIT_RUN_ENDPOINT, {})
self.assertEqual(len(mock_sleep.mock_calls), self.hook.retry_limit - 1)
calls = [
mock.call(retry_delay),
mock.call(retry_delay)
]
mock_sleep.assert_has_calls(calls)
示例3: handle_connection_errors
# 需要導入模塊: from requests import exceptions [as 別名]
# 或者: from requests.exceptions import SSLError [as 別名]
def handle_connection_errors(client):
try:
yield
except SSLError as e:
log.error('SSL error: %s' % e)
raise ConnectionError()
except RequestsConnectionError as e:
if e.args and isinstance(e.args[0], ReadTimeoutError):
log_timeout_error(client.timeout)
raise ConnectionError()
exit_with_error(get_conn_error_message(client.base_url))
except APIError as e:
log_api_error(e, client.api_version)
raise ConnectionError()
except (ReadTimeout, socket.timeout):
log_timeout_error(client.timeout)
raise ConnectionError()
except Exception as e:
if is_windows():
import pywintypes
if isinstance(e, pywintypes.error):
log_windows_pipe_error(e)
raise ConnectionError()
raise
示例4: test_is_docker_image_already_in_registry_http_when_image_does_not_exist
# 需要導入模塊: from requests import exceptions [as 別名]
# 或者: from requests.exceptions import SSLError [as 別名]
def test_is_docker_image_already_in_registry_http_when_image_does_not_exist(
mock_read_docker_registry_creds, mock_request_head, mock_get_service_docker_registry
):
def mock_head(session, url, timeout):
if url.startswith("https"):
raise SSLError("Uh oh")
return MagicMock(status_code=404)
mock_get_service_docker_registry.return_value = "registry"
mock_request_head.side_effect = mock_head
mock_read_docker_registry_creds.return_value = (None, None)
assert not is_docker_image_already_in_registry(
"fake_service", "fake_soa_dir", "fake_sha"
)
mock_request_head.assert_called_with(
ANY,
"http://registry/v2/services-fake_service/manifests/paasta-fake_sha",
timeout=30,
)
示例5: test_neutron_exception_is_raised_on_any_request_error
# 需要導入模塊: from requests import exceptions [as 別名]
# 或者: from requests.exceptions import SSLError [as 別名]
def test_neutron_exception_is_raised_on_any_request_error(self):
# timeout exception raises InfobloxTimeoutError
f = mock.Mock()
f.__name__ = 'mock'
f.side_effect = req_exc.Timeout
self.assertRaises(exceptions.InfobloxTimeoutError,
connector.reraise_neutron_exception(f))
# all other request exception raises InfobloxConnectionError
supported_exceptions = [req_exc.HTTPError,
req_exc.ConnectionError,
req_exc.ProxyError,
req_exc.SSLError,
req_exc.TooManyRedirects,
req_exc.InvalidURL]
for ex in supported_exceptions:
f.side_effect = ex
self.assertRaises(exceptions.InfobloxConnectionError,
connector.reraise_neutron_exception(f))
示例6: initWithAdapter_
# 需要導入模塊: from requests import exceptions [as 別名]
# 或者: from requests.exceptions import SSLError [as 別名]
def initWithAdapter_(self, adapter):
self = objc.super(NSURLSessionAdapterDelegate, self).init()
if self is None:
return None
self.adapter = adapter
self.bytesReceived = 0
self.expectedLength = -1
self.percentComplete = 0
self.done = False
self.error = None
self.SSLError = None
self.output = NSMutableData.dataWithCapacity_(1024)
self.status = None
self.headers = {}
self.verify = True
self.credential = None
self.history = []
return self
示例7: URLSession_task_didCompleteWithError_
# 需要導入模塊: from requests import exceptions [as 別名]
# 或者: from requests.exceptions import SSLError [as 別名]
def URLSession_task_didCompleteWithError_(
self,
session, # type: NSURLSession
task, # type: NSURLSessionTask
error # type: NSError
): # type: (...) -> None
logger.debug('URLSession_task_didCompleteWithError_')
if error:
self.error = error
# If this was an SSL error, try to extract the SSL error code.
if 'NSUnderlyingError' in error.userInfo():
ssl_code = error.userInfo()['NSUnderlyingError'].userInfo().get(
'_kCFNetworkCFStreamSSLErrorOriginalValue', None)
if ssl_code:
self.SSLError = (ssl_code, ssl_error_codes.get(
ssl_code, 'Unknown SSL error'))
else:
logger.debug('no error(s)')
self.done = True
示例8: server_status
# 需要導入模塊: from requests import exceptions [as 別名]
# 或者: from requests.exceptions import SSLError [as 別名]
def server_status(connection, verbose=False):
"""
Args:
connection: MicroStrategy REST API connection object
verbose (bool, optional): Verbosity of server responses; defaults to False.
Returns:
Complete HTTP response object
"""
try:
response = connection.session.get(url=connection.base_url + '/api/status')
except SSLError:
exception_handler("SSL certificate error, if you are using a self-signed certificate, copy your SSL certificate to your working directory or pass the path to the certificate to your Connection. \nOtherwise please double check that the link you are using comes from a trusted source.\n\nCheck readme for more details.", # noqa
SSLError)
if verbose:
print(response.url)
if not response.ok:
response_handler(response, "Failed to check server status")
return response
示例9: test_make_request
# 需要導入模塊: from requests import exceptions [as 別名]
# 或者: from requests.exceptions import SSLError [as 別名]
def test_make_request(self, *args, **kvargs):
headers = {}
params = {'method': 'GET',
'service': 'ec2',
'region': 'region',
'uri': 'https://user:pass@host:123/path/?a=b&c=d',
'headers': headers,
'data': '',
'access_key': '',
'secret_key': '',
'security_token': '',
'data_binary': False,
'verify': False}
with pytest.raises(SSLError):
make_request(**params)
pass
示例10: run_query
# 需要導入模塊: from requests import exceptions [as 別名]
# 或者: from requests.exceptions import SSLError [as 別名]
def run_query(self):
q = 'select * from weather.forecast where woeid=%s' % self.woeid
url = 'https://query.yahooapis.com/v1/yql?q=%s' % q
params = {}
params['format'] = 'json'
try:
ans = requests.get(url, auth=self.oauth, params=params)
except SSLError as e:
'''
Bug #1568774
'''
print('wyahooapi.py: Bug #1568774', str(e))
print('wyahooapi.py: Unable to query https url, switch to http url')
url = 'http://query.yahooapis.com/v1/yql?q=%s' % q
ans = requests.get(url, auth=self.oauth, params=params)
if ans.status_code == 200:
return ans.json()
else:
print('wyahooapi.py: Request status code not 200, status_code = ', str(ans.status_code))
return None
示例11: _has_api
# 需要導入模塊: from requests import exceptions [as 別名]
# 或者: from requests.exceptions import SSLError [as 別名]
def _has_api(url: str) -> bool:
if urlparse(url).hostname in ('pypi.org', 'python.org', 'test.pypi.org'):
return True
full_url = urljoin(url, 'dephell/json/')
try:
response = requests.head(full_url)
except (SSLError, ConnectionError):
return False
return response.status_code < 400
示例12: renew_token
# 需要導入模塊: from requests import exceptions [as 別名]
# 或者: from requests.exceptions import SSLError [as 別名]
def renew_token(self, token):
"""Renew expired ThreatConnect Token.
This method will renew a token and update the token_map with new token and expiration.
Args:
token (str): The ThreatConnect API token.
token_expires (int): The token expiration timestamp.
"""
api_token_data = {}
self.log.in_token_renewal = True # pause API logging
# log token information
try:
params = {'expiredToken': token}
url = f'{self.token_url}/appAuth'
r = self.session.get(url, params=params, verify=self.verify)
if not r.ok:
err_reason = r.text or r.reason
err_msg = (
f'Token Retry Error. API status code: {r.status_code}, '
f'API message: {err_reason}, '
f'Token: {self.printable_token(token)}.'
)
self.log.error(err_msg)
raise RuntimeError(1042, err_msg)
except exceptions.SSLError: # pragma: no cover
raise RuntimeError('Token renewal failed with an SSL Error.')
# process response for token
try:
api_token_data = r.json()
except (AttributeError, ValueError) as e: # pragma: no cover
raise RuntimeError(f'Token renewal failed ({e}).')
finally:
self.log.in_token_renewal = False
return api_token_data
示例13: _do
# 需要導入模塊: from requests import exceptions [as 別名]
# 或者: from requests.exceptions import SSLError [as 別名]
def _do(self, f, relative_url, *args, **kwargs):
kwargs['auth'] = self.auth
kwargs['verify'] = not self.insecure
if self._fallback:
try:
res = f(self._base + relative_url, *args, **kwargs)
self._fallback = None # don't fallback after one success
return res
except (SSLError, requests.ConnectionError):
self._base = self._fallback
self._fallback = None
return f(self._base + relative_url, *args, **kwargs)
示例14: test_do_api_call_retries_with_retryable_error
# 需要導入模塊: from requests import exceptions [as 別名]
# 或者: from requests.exceptions import SSLError [as 別名]
def test_do_api_call_retries_with_retryable_error(self):
for exception in [requests_exceptions.ConnectionError,
requests_exceptions.SSLError,
requests_exceptions.Timeout,
requests_exceptions.ConnectTimeout,
requests_exceptions.HTTPError]:
with mock.patch('airflow.providers.databricks.hooks.databricks.requests') as mock_requests:
with mock.patch.object(self.hook.log, 'error') as mock_errors:
setup_mock_requests(mock_requests, exception)
with self.assertRaises(AirflowException):
self.hook._do_api_call(SUBMIT_RUN_ENDPOINT, {})
self.assertEqual(mock_errors.call_count, self.hook.retry_limit)
示例15: QA_fetch_huobi_symbols
# 需要導入模塊: from requests import exceptions [as 別名]
# 或者: from requests.exceptions import SSLError [as 別名]
def QA_fetch_huobi_symbols():
"""
Get Symbol and currencies
"""
url = urljoin(Huobi_base_url, "/v1/common/symbols")
retries = 1
datas = list()
while (retries != 0):
try:
req = requests.get(url, timeout=TIMEOUT)
retries = 0
except (ConnectTimeout, ConnectionError, SSLError, ReadTimeout):
retries = retries + 1
if (retries % 6 == 0):
print(ILOVECHINA)
print("Retry get_exchange_info #{}".format(retries - 1))
time.sleep(0.5)
if (retries == 0):
msg_dict = json.loads(req.content)
if (('status' in msg_dict) and (msg_dict['status'] == 'ok')
and ('data' in msg_dict)):
if len(msg_dict["data"]) == 0:
return []
for symbol in msg_dict["data"]:
# 隻導入上架交易對
if (symbol['state'] == 'online'):
datas.append(symbol)
return datas