netbox-community / pynetbox

Python API client library for Netbox.
Apache License 2.0
558 stars 168 forks source link

Unable to get pynetbox version #260

Closed smutel closed 4 years ago

smutel commented 4 years ago

How to reproduce:

$ pip3 list | grep pynetbox
pynetbox     5.0.1
$ python3
>> import pynetbox
>> import requests
>> url="https://netbox.xxx.xxx.xxx"
>> token="xxxxxxxxxxxxxxxxxxxxxxx"
>> session = requests.Session()
>> session.verify = False
>> nb = pynetbox.api(url, token=token)
>> nb.http_session = session
>> nb.version

Traceback (most recent call last):                                                                                                                                                                                 
  File "/home/smu/.local/share/virtualenvs/cumulus-exploitation-3KT06Xwe/lib/python3.6/site-packages/urllib3/connectionpool.py", line 677, in urlopen 
    chunked=chunked,                                                   
  File "/home/smu/.local/share/virtualenvs/cumulus-exploitation-3KT06Xwe/lib/python3.6/site-packages/urllib3/connectionpool.py", line 381, in _make_request
    self._validate_conn(conn)                          
  File "/home/smu/.local/share/virtualenvs/cumulus-exploitation-3KT06Xwe/lib/python3.6/site-packages/urllib3/connectionpool.py", line 976, in _validate_conn
    conn.connect()                                          
  File "/home/smu/.local/share/virtualenvs/cumulus-exploitation-3KT06Xwe/lib/python3.6/site-packages/urllib3/connection.py", line 370, in connect    
    ssl_context=context,                                           
  File "/home/smu/.local/share/virtualenvs/cumulus-exploitation-3KT06Xwe/lib/python3.6/site-packages/urllib3/util/ssl_.py", line 377, in ssl_wrap_socket
    return context.wrap_socket(sock, server_hostname=server_hostname)
  File "/usr/lib/python3.6/ssl.py", line 407, in wrap_socket                                                                                                                                                       
    _context=self, _session=session)           
  File "/usr/lib/python3.6/ssl.py", line 817, in __init__                                                                                                                                                         
    self.do_handshake()                                            
  File "/usr/lib/python3.6/ssl.py", line 1077, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/smu/.local/share/virtualenvs/cumulus-exploitation-3KT06Xwe/lib/python3.6/site-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/home/smu/.local/share/virtualenvs/cumulus-exploitation-3KT06Xwe/lib/python3.6/site-packages/urllib3/connectionpool.py", line 725, in urlopen
    method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
  File "/home/smu/.local/share/virtualenvs/cumulus-exploitation-3KT06Xwe/lib/python3.6/site-packages/urllib3/util/retry.py", line 439, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='netbox.xxx.xxx.xxx', port=443): Max retries exceeded with url: /api/ (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAIL
ED] certificate verify failed (_ssl.c:852)'),))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/smu/.local/share/virtualenvs/cumulus-exploitation-3KT06Xwe/lib/python3.6/site-packages/pynetbox/core/api.py", line 125, in version
    base=self.base_url, http_session=self.http_session
  File "/home/smu/.local/share/virtualenvs/cumulus-exploitation-3KT06Xwe/lib/python3.6/site-packages/pynetbox/core/query.py", line 200, in get_version
    req = requests.get(self.normalize_url(self.base), headers=headers,)
  File "/home/smu/.local/share/virtualenvs/cumulus-exploitation-3KT06Xwe/lib/python3.6/site-packages/requests/api.py", line 76, in get
    return request('get', url, params=params, **kwargs)
  File "/home/smu/.local/share/virtualenvs/cumulus-exploitation-3KT06Xwe/lib/python3.6/site-packages/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/home/smu/.local/share/virtualenvs/cumulus-exploitation-3KT06Xwe/lib/python3.6/site-packages/requests/sessions.py", line 530, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/smu/.local/share/virtualenvs/cumulus-exploitation-3KT06Xwe/lib/python3.6/site-packages/requests/sessions.py", line 643, in send
    r = adapter.send(request, **kwargs)
  File "/home/smu/.local/share/virtualenvs/cumulus-exploitation-3KT06Xwe/lib/python3.6/site-packages/requests/adapters.py", line 514, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='netbox.xxx.xxx.xxx', port=443): Max retries exceeded with url: /api/ (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED]
certificate verify failed (_ssl.c:852)'),))
markkuleinio commented 4 years ago

Same here. Submitted PR #261 to fix this.