PySocks doesn't support IPv6: ('::', 443, 0, 0)
KelvinF97 opened this issue · 1 comments
KelvinF97 commented
---------------------------------------------------------------------------
OSError Traceback (most recent call last)
~/.pyenv/versions/3.7.12/lib/python3.7/urllib/request.py in do_open(self, http_class, req, **http_conn_args)
1349 h.request(req.get_method(), req.selector, req.data, headers,
-> 1350 encode_chunked=req.has_header('Transfer-encoding'))
1351 except OSError as err: # timeout error
~/.pyenv/versions/3.7.12/lib/python3.7/http/client.py in request(self, method, url, body, headers, encode_chunked)
1280 """Send a complete request to the server."""
-> 1281 self._send_request(method, url, body, headers, encode_chunked)
1282
~/.pyenv/versions/3.7.12/lib/python3.7/http/client.py in _send_request(self, method, url, body, headers, encode_chunked)
1326 body = _encode(body, 'body')
-> 1327 self.endheaders(body, encode_chunked=encode_chunked)
1328
~/.pyenv/versions/3.7.12/lib/python3.7/http/client.py in endheaders(self, message_body, encode_chunked)
1275 raise CannotSendHeader()
-> 1276 self._send_output(message_body, encode_chunked=encode_chunked)
1277
~/.pyenv/versions/3.7.12/lib/python3.7/http/client.py in _send_output(self, message_body, encode_chunked)
1035 del self._buffer[:]
-> 1036 self.send(msg)
1037
~/.pyenv/versions/3.7.12/lib/python3.7/http/client.py in send(self, data)
975 if self.auto_open:
--> 976 self.connect()
977 else:
~/.pyenv/versions/3.7.12/lib/python3.7/http/client.py in connect(self)
1442
-> 1443 super().connect()
1444
~/.pyenv/versions/3.7.12/lib/python3.7/http/client.py in connect(self)
947 self.sock = self._create_connection(
--> 948 (self.host,self.port), self.timeout, self.source_address)
949 self.sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
~/.pyenv/versions/3.7.12/lib/python3.7/socket.py in create_connection(address, timeout, source_address)
727 try:
--> 728 raise err
729 finally:
~/.pyenv/versions/3.7.12/lib/python3.7/socket.py in create_connection(address, timeout, source_address)
715 sock.bind(source_address)
--> 716 sock.connect(sa)
717 # Break explicitly a reference cycle
~/.environments/model_cuda/lib/python3.7/site-packages/socks.py in wrapper(*args, **kwargs)
46 self.setblocking(True)
---> 47 return function(*args, **kwargs)
48 except Exception as e:
~/.environments/model_cuda/lib/python3.7/site-packages/socks.py in connect(self, dest_pair, catch_errors)
742 raise socket.error("PySocks doesn't support IPv6: %s"
--> 743 % str(dest_pair))
744
OSError: PySocks doesn't support IPv6: ('::', 443, 0, 0)
During handling of the above exception, another exception occurred:
URLError Traceback (most recent call last)
/tmp/ipykernel_1957/3890847748.py in <module>
6 print("Downloading", filename)
7 url = DOWNLOAD_ROOT + "datasets/lifesat/" + filename
----> 8 urllib.request.urlretrieve(url, datapath + filename)
~/.pyenv/versions/3.7.12/lib/python3.7/urllib/request.py in urlretrieve(url, filename, reporthook, data)
245 url_type, path = splittype(url)
246
--> 247 with contextlib.closing(urlopen(url, data)) as fp:
248 headers = fp.info()
249
~/.pyenv/versions/3.7.12/lib/python3.7/urllib/request.py in urlopen(url, data, timeout, cafile, capath, cadefault, context)
220 else:
221 opener = _opener
--> 222 return opener.open(url, data, timeout)
223
224 def install_opener(opener):
~/.pyenv/versions/3.7.12/lib/python3.7/urllib/request.py in open(self, fullurl, data, timeout)
523 req = meth(req)
524
--> 525 response = self._open(req, data)
526
527 # post-process response
~/.pyenv/versions/3.7.12/lib/python3.7/urllib/request.py in _open(self, req, data)
541 protocol = req.type
542 result = self._call_chain(self.handle_open, protocol, protocol +
--> 543 '_open', req)
544 if result:
545 return result
~/.pyenv/versions/3.7.12/lib/python3.7/urllib/request.py in _call_chain(self, chain, kind, meth_name, *args)
501 for handler in handlers:
502 func = getattr(handler, meth_name)
--> 503 result = func(*args)
504 if result is not None:
505 return result
~/.pyenv/versions/3.7.12/lib/python3.7/urllib/request.py in https_open(self, req)
1391 def https_open(self, req):
1392 return self.do_open(http.client.HTTPSConnection, req,
-> 1393 context=self._context, check_hostname=self._check_hostname)
1394
1395 https_request = AbstractHTTPHandler.do_request_
~/.pyenv/versions/3.7.12/lib/python3.7/urllib/request.py in do_open(self, http_class, req, **http_conn_args)
1350 encode_chunked=req.has_header('Transfer-encoding'))
1351 except OSError as err: # timeout error
-> 1352 raise URLError(err)
1353 r = h.getresponse()
1354 except:
URLError: <urlopen error PySocks doesn't support IPv6: ('::', 443, 0, 0)>
sunshe35 commented
I find the way to solve ipv6 socks5 proxy.
refer to:
woo200/sockslib#1 (comment)
The author of sockslib was very kind and helped me solve this problem.