Par*_*hit 3 python ip-address urllib2
我正在使用urllib2从服务器下载数据.但我需要确定我连接的服务器的IP地址.
import urllib2
STD_HEADERS = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,
*/*;q=0.8',
'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'Accept-Language': 'en-us,en;q=0.5',
'User-Agent': 'Mozilla/5.0 (X11; U; Linux x86_64;en-US;rv:1.9.2.12)
Gecko/20101028 Firefox/3.6.12'}
request = urllib2.Request(url, None, STD_HEADERS)
data = urllib2.urlopen(request)
Run Code Online (Sandbox Code Playgroud)
请不要让我使用URL找到IP地址,因为这不能保证从中下载数据的服务器和IP地址查询在"HTTPRedirects"或负载均衡服务器的情况下解析为相同的IP地址
小智 5
这是在Python 2.7上对我有用的东西:
>>> from urllib2 import urlopen
>>> from socket import fromfd
>>> from socket import AF_INET
>>> from socket import SOCK_STREAM
>>> r = urlopen('http://stackoverflow.com/')
>>> mysockno = r.fileno()
>>> mysock = fromfd( mysockno, AF_INET, SOCK_STREAM)
>>> (ip, port) = mysock.getpeername()
>>> print "got IP %s port %d" % (ip, port)
got IP 198.252.206.140 port 80
Run Code Online (Sandbox Code Playgroud)