Чтение заголовков от urllib.request.urlopen - PullRequest
0 голосов
/ 09 ноября 2018

Я искал и нашел много ответов, к сожалению, связанных с Python2, которые выглядят примерно так:

r = urllib.urlopen(url)
headers = r.info()
print(headers.getheader('Content-Disposition'))

Однако, похоже, это не работает с Python3. Нет .getheader() метода. Все данные заголовка находятся внутри r.info()._headers в виде списка кортежей. Подчеркивание может указывать на то, что к нему нельзя обращаться напрямую, или есть более «правильный» способ чтения заголовков ... если так, каков правильный способ чтения заголовков?

1 Ответ

0 голосов
/ 09 ноября 2018

Если url использует http или https схема r имеет тип http.client.HTTPResponse . Вы можете получить заголовки таким образом:

import urllib.request

r = urllib.request.urlopen(url)
print(r.getheaders())
print(r.getheader('Content-Disposition'))

Вы можете использовать print(dir(r)) для перечисления атрибутов r.

...