Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 10, 2015 18:26:01

yum
Зарегистрирован: 2015-10-27
Сообщения: 6
Репутация: +  0  -
Профиль  

Как быстро получить реальный IP через Socks5 соединение

Может есть более удобный и быстрый способ получить 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)

Офлайн

#2 Ноя. 11, 2015 03:55:44

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9890
Репутация: +  854  -
Профиль   Отправить e-mail  

Как быстро получить реальный IP через Socks5 соединение

>>> 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)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version