Хороший способ получить кодировку / кодировку ответа HTTP в Python

Ищете простой способ получить информацию о кодировке / кодировке HTTP-ответа, используя Python urllib2 или любую другую библиотеку Python.

>>> url = 'http://some.url.value'
>>> request = urllib2.Request(url)
>>> conn = urllib2.urlopen(request)
>>> response_encoding = ?

Я знаю, что это иногда присутствует вТип содержимого' заголовок, но этот заголовок имеет другую информацию, и это 'встроен в строку, которую мне нужно будет проанализировать. Например, заголовок Content-Type, возвращаемый Google:

>>> conn.headers.getheader('content-type')
'text/html; charset=utf-8'

Я мог бы работать с этим, но яЯ не уверен, насколько последовательным будет формат. Я'я уверен, что этовозможно, что кодировка отсутствует полностью, поэтому яЯ должен разобраться с этим крайним случаем. Какая-то операция разбиения строки, чтобы получитьUTF-8' из этого кажется, что это должен быть неправильный способ делать подобные вещи.

>>> content_type_header = conn.headers.getheader('content-type')
>>> if '=' in content_type_header:
>>>  charset = content_type_header.split('=')[1]

Тот'это тот код, который вам нравитсяделает слишком много работы. Я'Я также не уверен, будет ли это работать в каждом случае. У кого-нибудь есть лучший способ сделать это?

Ответы на вопрос(5)

Ваш ответ на вопрос