2012-09-18 11 views
8

Ho bisogno di ottenere il tipo di contenuto di una risorsa internet (intranet) non un file locale. Come posso ottenere il tipo MIME da una risorsa dietro un URL:Python: come ottenere il Content-Type di un URL?

ho provato questo:

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

ottengo: ['charset=UTF-8']

Come posso ottenere l'Content-Type, può essere fatto utilizzando urllib e come o se no qual è il contrario?

+4

Vedi http://stackoverflow.com/questions/843392/python-get-http-headers-from-urllib-call – sqrtsben

+0

stampa res.info() .gettype() –

+0

http://stackoverflow.com/a/21515813/538284 –

risposta

15
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' 
+2

Nota: questo funziona solo per python 2.x –

10

soluzione A python3 a questo:

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 
Problemi correlati