Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PySocks doesn't support IPv6: ('::', 443, 0, 0) #157

Open
KelvinF97 opened this issue Sep 10, 2021 · 1 comment
Open

PySocks doesn't support IPv6: ('::', 443, 0, 0) #157

KelvinF97 opened this issue Sep 10, 2021 · 1 comment

Comments

@KelvinF97
Copy link

---------------------------------------------------------------------------
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
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants