Message 226467 - Python tracker (original) (raw)

The documentation says that guess_type() takes a URL, but:

mimetypes.guess_type("http://example.com") ('application/x-msdownload', None)

I suspect the MS download is a reference to *.com files (like DOS's command.com). My current workaround is to strip out the host name from the URL, since I cannot imagine it would be useful for determining the content type. I am also stripping the fragment part. An argument could probably be made for stripping the “;parameters” and “?query” parts as well.

Workaround for mimetypes.guess_type("//example.com")

... # interpreting host name as file name ... url = urlparse("http://example.com") url = net.url_replace(url, netloc="", fragment="") url 'http://' mimetypes.guess_type(url, strict=False) (None, None)