美文网首页
关于python做爬虫遇到do_handshake_on_con

关于python做爬虫遇到do_handshake_on_con

作者: 东京的雨不会淋湿首尔 | 来源:发表于2017-03-18 13:16 被阅读1154次
    Traceback (most recent call last):
      File "C:\Python27\lib\site-packages\django\core\handlers\base.py", line 149, in get_response
        response = self.process_exception_by_middleware(e, request)
      File "C:\Python27\lib\site-packages\django\core\handlers\base.py", line 147, in get_response
        response = wrapped_callback(request, *callback_args, **callback_kwargs)
      File "C:\Users\javascript\Desktop\library\library-dev\cqulibrary\views.py", line 218, in jieyue
        'https://sso.lib.cqu.edu.cn:8949/adlibSso/login',verify = False)
      File "C:\Python27\lib\site-packages\requests\sessions.py", line 501, in get
        return self.request('GET', url, **kwargs)
      File "C:\Python27\lib\site-packages\requests\sessions.py", line 488, in request
        resp = self.send(prep, **send_kwargs)
      File "C:\Python27\lib\site-packages\requests\sessions.py", line 609, in send
        r = adapter.send(request, **kwargs)
      File "C:\Python27\lib\site-packages\requests\adapters.py", line 423, in send
        timeout=timeout
      File "C:\Python27\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 600, in urlopen
        chunked=chunked)
      File "C:\Python27\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 345, in _make_request
        self._validate_conn(conn)
      File "C:\Python27\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 844, in _validate_conn
        conn.connect()
      File "C:\Python27\lib\site-packages\requests\packages\urllib3\connection.py", line 326, in connect
        ssl_context=context)
      File "C:\Python27\lib\site-packages\requests\packages\urllib3\util\ssl_.py", line 324, in ssl_wrap_socket
        return context.wrap_socket(sock, server_hostname=server_hostname)
      File "C:\Python27\lib\ssl.py", line 352, in wrap_socket
        _context=self)
      File "C:\Python27\lib\ssl.py", line 578, in __init__
        raise ValueError("do_handshake_on_connect should not be specified for non-blocking sockets")
    ValueError: do_handshake_on_connect should not be specified for non-blocking sockets
    

    经过无数次折腾之后得此法解决:

    pip install requests[security]

    这样会额外的安装如下3个包:
    pyOpenSSL
    cryptography
    idna
    
    这样可以允许更多的安全的SSL连接

    Also by default requests can't connect to some sites on OSX because of ancient OpenSSL. Using the above 3 packages makes it possible. (Donald Stufft)

    相关文章

      网友评论

          本文标题:关于python做爬虫遇到do_handshake_on_con

          本文链接:https://www.haomeiwen.com/subject/gipunttx.html