如何从url获取server_name?

时间:2011-11-22 07:50:05

标签: python

我(例如)有一个链接:

http://10.100.0.178:8134/hds-live/livepkgr/_definst_/liveevent.f4m

如何从此链接获取server_name(http://10.100.0.178:8134/)?任何标准功能?

4 个答案:

答案 0 :(得分:4)

import urlparse

a = 'http://10.100.0.178:8134/hds-live/livepkgr/_definst_/liveevent.f4m'
output = '{0.scheme}://{0.netloc}'.format(urlparse.urlsplit(a))

# output == 'http://10.100.0.178:8134'

答案 1 :(得分:3)

是的。

http://docs.python.org/library/urlparse.html [已弃用]

由于luckydonald的评论而更新

For Python 2

For Python 3

答案 2 :(得分:1)

import socket
from urlparse import urlparse
ip = urlparse('http://173.194.64.104').hostname
socket.gethostbyaddr(ip)

答案 3 :(得分:0)

好吧,请考虑一个ip可以有多个域名。 socket.gethostbyaddr只会为此ip提供第一个(或默认)主机名。