Python:如何获取URL的Content-Type?

时间:2012-09-18 09:45:11

标签: python python-2.7 urllib

我需要获取Internet(Intranet)资源的内容类型而不是本地文件。如何从URL后面的资源中获取MIME类型:

我试过了:

res = urllib.urlopen("http://www.iana.org/assignments/language-subtag-registry")
http_message = res.info()
message = http_message.getplist()

我得到: ['charset=UTF-8']

我怎样才能获得Content-Type,可以使用urllib完成,以及如何以及如果不是这样的话?

2 个答案:

答案 0 :(得分:17)

res = urllib.urlopen("http://www.iana.org/assignments/language-subtag-registry" )
http_message = res.info()
full = http_message.type # 'text/plain'
main = http_message.maintype # 'text'

答案 1 :(得分:12)

Python3解决方案:

import urllib.request
with urllib.request.urlopen('http://www.google.com') as response:
    info = response.info()
    print(info.get_content_type())      # -> text/html
    print(info.get_content_maintype())  # -> text
    print(info.get_content_subtype())   # -> html