python如何解析url获取host

Python011

python如何解析url获取host,第1张

最近在工作中需要将url的host和path路径分开存储,python内置的 urlparse , 支持我们优雅的解决这个问题, 参考地址

由上文我们可以看到,url被拆分的很细致,提取的方法也很简单,只需要给属性取一个别名,后面跟上解析的key,即可匹配出解析文本。

可以啊。简单的做法是使用sys.argv,让用户从命令行输入host和port。 复杂的是使用配置文件。 config.ini或者是config.xml, config.yaml都可以。

不过话说回来,你做服务端,怎么会要求配置host,难道说你服务器上有多块网卡,分别是不同的IP地址?

通常我们是绑在''上,或者是'0.0.0.0'上。也就是说,你可以通过这个服务器的任何一个IP地址访问进来。

指定host?一般给url就是了,还需要指定host么?

#coding=utf-8

'''

Created on 2014-2-20

@author: Neo

'''

import urllib2

import httplib

def openUrl(url):

url = 'http://' + url

req = urllib2.Request(url)

#这里指定header

req.add_header('User-agent', 'Mozilla/5.0 (Windows NT 6.2WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1707.0 Safari/537.36')

response = urllib2.urlopen(req)

the_page = response.read()

print the_page

print response.geturl()

print response.info()

print response.headers

if __name__ == "__main__":

url = "xxxx.xxx.xx/xxx/xxx"

openUrl(url)

如果一定要指定header里的host也可以,加上这句就是了

req.add_header('Host','xxxx.xxx.xx')