【发布时间】:2011-04-06 18:24:09
【问题描述】:
我需要使用 urllib2 获取请求的主机的 IP 地址,例如:
import urllib2
req = urllib2.Request('http://www.example.com/')
r = urllib2.urlopen(req)
有ip = urllib2.gethostbyname(req)之类的函数吗?
【问题讨论】:
标签: python urllib2 gethostbyname
我需要使用 urllib2 获取请求的主机的 IP 地址,例如:
import urllib2
req = urllib2.Request('http://www.example.com/')
r = urllib2.urlopen(req)
有ip = urllib2.gethostbyname(req)之类的函数吗?
【问题讨论】:
标签: python urllib2 gethostbyname
你可以使用:
import socket
socket.gethostbyname('www.google.com')
这将返回主机的 IP 地址。不要传递'http://www.google.com'。那是行不通的。
【讨论】:
有一个 socket.gethostbyname 函数可以解析主机名,如果这就是你的意思。
虽然如果你已经有urllib2 建立的连接,那么通过your_request.get_host() 获取目标主机。
【讨论】:
get_host。在您真正连接之前,您无法确定名称将解析到哪个 ip。