繁体   English   中英

如何从url获取server_name?

[英]How to get server_name from url?

我有(例如)一个链接:

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

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

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'

就在这里。

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

由于luckydonald的评论更新

对于Python 2

对于Python 3

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM