Форум сайта python.su
Может есть более удобный и быстрый способ получить IP через сокс5 соединение.
Делаю как-то так:
import socks #PySocks s = socks.socksocket() s.set_proxy(socks.SOCKS5, host, port) s.connect(("api.ipify.org", 80)) h = (b'GET / HTTP/1.1\r\nHost: api.ipify.org\r\nAccept: text/html\r\nAccept-Encoding: gzip,deflate,sdch\r\nAccept-Language: en-US,en;q=0.8\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3\r\n\r\n') s.sendall(h) reply = s.recv(1024).decode("utf-8") s.close() ip = re.findall('[0-9]+(?:\.[0-9]+){3}', reply) ip = ''.join(ip) print(ip)
Офлайн
>>> import socks >>> >>> s = socks.socksocket() >>> #s.set_proxy(socks.SOCKS5, host, port) ... s.connect(("api.ipify.org", 80)) >>> >>> h = (b'GET / HTTP/1.1\r\n' ... b'Host: api.ipify.org\r\n' ... b'\r\n') >>> >>> s.send(h) 39 >>> reply = s.recv(1024).decode('latin1') >>> ip = reply.rsplit()[-1] >>> s.close() >>> >>> print(ip) 95.178.23.166 >>>
Отредактировано py.user.next (Ноя. 11, 2015 03:57:03)
Офлайн