summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Petrov <andrey.petrov@shazow.net>2013-01-19 10:32:48 -0800
committerAndrey Petrov <andrey.petrov@shazow.net>2013-01-19 10:32:48 -0800
commitbc0130f8a81f1baca59f76eb60eae884490073bd (patch)
tree8c93dc3fcf1a2c71261c39ef68418fc0ddee0e9a
parent8289989ef3b311529c44cedc9ac58815b30d3911 (diff)
parentec184107aed12236900f82b9c49471b646af16fd (diff)
downloadurllib3-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.py10
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)