diff options
author | Andrey Petrov <andrey.petrov@shazow.net> | 2013-01-19 10:32:48 -0800 |
---|---|---|
committer | Andrey Petrov <andrey.petrov@shazow.net> | 2013-01-19 10:32:48 -0800 |
commit | bc0130f8a81f1baca59f76eb60eae884490073bd (patch) | |
tree | 8c93dc3fcf1a2c71261c39ef68418fc0ddee0e9a | |
parent | 8289989ef3b311529c44cedc9ac58815b30d3911 (diff) | |
parent | ec184107aed12236900f82b9c49471b646af16fd (diff) | |
download | urllib3-socks-proxy.tar.gz |
Merge pull request #135 from Anorov/socks-proxysocks-proxy
Update urllib3/packages/socksipy/socks.py
-rw-r--r-- | urllib3/packages/socksipy/socks.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/urllib3/packages/socksipy/socks.py b/urllib3/packages/socksipy/socks.py index 407715e1..4cc987b9 100644 --- a/urllib3/packages/socksipy/socks.py +++ b/urllib3/packages/socksipy/socks.py @@ -324,10 +324,14 @@ class socksocket(socket.socket): else: addr = destaddr self.sendall(("CONNECT " + addr + ":" + str(destport) + " HTTP/1.1\r\n" + "Host: " + destaddr + "\r\n\r\n").encode()) + # We read the response until we get the string "\r\n\r\n" - resp = self.recv(1) - while resp.find("\r\n\r\n".encode()) == -1: - resp = resp + self.recv(1) + resp = self.recv(4096) + while "\r\n\r\n" not in resp: + d = self.recv(4096) + if not d: + raise GeneralProxyError((0, "connection closed unexpectedly")) + resp += d # We just need the first line to check if the connection # was successful statusline = resp.splitlines()[0].split(" ".encode(), 2) |