Eric Cao
Eric Cao

Reputation: 43

python urllib2.urlopen SSL: CERTIFICATE_VERIFY_FAILED

My operating environment is: Python2.7, django1.9

My original code was:

req = urllib2.Request(url, obj, headers)
opener = urllib2.urlopen(req)

But there was an error:[SSL: CERTIFICATE_VERIFY_FAILED],I found a solution on the Internet:

First:
import ssl
import urllib2

context = ssl._create_unverified_context()
print urllib2.urlopen("https://imaojia.com/", context=context).read()

Second:
import ssl
import urllib2

ssl._create_default_https_context = ssl._create_unverified_context
print urllib2.urlopen("https://imaojia.com/").read()

After I use them,now the code becomes:

req = urllib2.Request(url, obj, headers)
import ssl
opener = urllib2.urlopen(req, context=ssl._create_unverified_context())

Now there are new errors:

HTTP Error 503: Service Unavailable

Internal Server Error: /deploy/key_list_import/
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 149, in get_response
    response = self.process_exception_by_middleware(e, request)
  File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 147, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/lib/python2.7/site-packages/django/contrib/auth/decorators.py", line 23, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/project/soms/deploy/views.py", line 398, in salt_key_import
    minions,minions_pre = sapi.list_all_key()
  File "/project/soms/deploy/saltapi.py", line 54, in list_all_key
    self.token_id()
  File "/project/soms/deploy/saltapi.py", line 30, in token_id
    content = self.postRequest(obj,prefix='/login')
  File "/project/soms/deploy/saltapi.py", line 42, in postRequest
    opener = urllib2.urlopen(req, context=ssl._create_unverified_context())
  File "/usr/lib64/python2.7/urllib2.py", line 154, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib64/python2.7/urllib2.py", line 437, in open
    response = meth(req, response)
  File "/usr/lib64/python2.7/urllib2.py", line 550, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib64/python2.7/urllib2.py", line 475, in error
    return self._call_chain(*args)
  File "/usr/lib64/python2.7/urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "/usr/lib64/python2.7/urllib2.py", line 558, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 503: Service Unavailable

Who can give me some advice? Thank you!

Upvotes: 1

Views: 935

Answers (1)

Eric Cao
Eric Cao

Reputation: 43

Thanks to Chiheb Nexus for the answer that helped me solve, so to close this question, answer it and adopt it.

The answer for this question is my request would have caused HTTP Error 503.

Upvotes: 1

Related Questions