title: Python: Error in self._sslobj.do_handshake() during opening a link in mechanize
body: <p>I am trying to rerun the code I had written about 2 years ago but now it is not working. I am using python 3.7.1. 
  The code snippet causing the problem is following</p>
  
  <pre><code>import ssl
  import mechanize
  import operator
  
  try:
      _create_unverified_https_context = ssl._create_unverified_context
  except AttributeError:
      # Legacy Python that doesn't verify HTTPS certificates by default
      pass
  else:
      # Handle target environment that doesn't support HTTPS verification
      ssl._create_default_https_context = _create_unverified_https_context
  
  
  ssl._DEFAULT_CIPHERS = ('DES-CBC3-SHA')
  myBrowser = mechanize.Browser()
  myBrowser.set_handle_robots(False)
  myBrowser.set_handle_refresh(False)
  
  myBrowser.open("https://uwp.puchd.ac.in/common/viewmarks.aspx")
  </code></pre>
  
  <p>This is causing an exception during the ssl handshake and showing only [Error 0]. The complete traceback is following-</p>
  
  <pre><code>Traceback (most recent call last):
    File "/home/him/.local/lib/python3.7/site-packages/mechanize/_urllib2_fork.py", line 1179, in do_open
      headers)
    File "/home/him/anaconda3/lib/python3.7/http/client.py", line 1229, in request
      self._send_request(method, url, body, headers, encode_chunked)
    File "/home/him/anaconda3/lib/python3.7/http/client.py", line 1275, in _send_request
      self.endheaders(body, encode_chunked=encode_chunked)
    File "/home/him/anaconda3/lib/python3.7/http/client.py", line 1224, in endheaders
      self._send_output(message_body, encode_chunked=encode_chunked)
    File "/home/him/anaconda3/lib/python3.7/http/client.py", line 1016, in _send_output
      self.send(msg)
    File "/home/him/anaconda3/lib/python3.7/http/client.py", line 956, in send
      self.connect()
    File "/home/him/anaconda3/lib/python3.7/http/client.py", line 1392, in connect
      server_hostname=server_hostname)
    File "/home/him/anaconda3/lib/python3.7/ssl.py", line 412, in wrap_socket
      session=session
    File "/home/him/anaconda3/lib/python3.7/ssl.py", line 853, in _create
      self.do_handshake()
    File "/home/him/anaconda3/lib/python3.7/ssl.py", line 1117, in do_handshake
      self._sslobj.do_handshake()
  OSError: [Errno 0] Error
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "UIET Rank system.py", line 51, in &lt;module&gt;
      myBrowser.open("https://uwp.puchd.ac.in/common/viewmarks.aspx")
    File "/home/him/.local/lib/python3.7/site-packages/mechanize/_mechanize.py", line 253, in open
      return self._mech_open(url_or_request, data, timeout=timeout)
    File "/home/him/.local/lib/python3.7/site-packages/mechanize/_mechanize.py", line 283, in _mech_open
      response = UserAgentBase.open(self, request, data)
    File "/home/him/.local/lib/python3.7/site-packages/mechanize/_opener.py", line 193, in open
      response = urlopen(self, req, data)
    File "/home/him/.local/lib/python3.7/site-packages/mechanize/_urllib2_fork.py", line 375, in _open
      '_open', req)
    File "/home/him/.local/lib/python3.7/site-packages/mechanize/_urllib2_fork.py", line 363, in _call_chain
      result = func(*args)
    File "/home/him/.local/lib/python3.7/site-packages/mechanize/_urllib2_fork.py", line 1225, in https_open
      return self.do_open(conn_factory, req)
    File "/home/him/.local/lib/python3.7/site-packages/mechanize/_urllib2_fork.py", line 1182, in do_open
      raise URLError(err)
  urllib.error.URLError: &lt;urlopen error [Errno 0] Error&gt;
  </code></pre>
  
  <p>Can you please explain what is the problem actually and how to resolve it?</p>
  
  <p><strong>Note-</strong> Kindly <a href="https://uwp.puchd.ac.in/common/viewmarks.aspx" rel="nofollow noreferrer">Visit this link</a> which i am opening and check, it uses outdated ciphers probably and it always shows warning before proceeding.</p>