Заголовки ответа от сервера, которые возвращает requests - Python

Узнай цену своей работы

Формулировка задачи:

Вот такие заголовки на запрос одного файла возвращает мне

requests

:
Листинг программы
  1. Date=Fri, 07 Oct 2016 21:15:26 GMT
  2. Server=Apache
  3. X-Powered-By=PHP/5.4.20
  4. Content-Disposition=attachment; filename="СоломаÑ
А вот это взято из брузера на тот же запрос:
Листинг программы
  1. Connection:Keep-Alive
  2. Content-Disposition:attachment; filename="%D0%A1%D0%BE%D0%BB%D0%BE%D0%BC%D0%B0%D1%85%D1%96%D0%BD %D0%BF%D1%80%D0%BE%D1%82%D0%B8 %D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D0%B8.docx";
  3. Content-Length:273297
  4. Content-Type:application/msword
  5. Date:Fri, 07 Oct 2016 23:30:14 GMT
  6. ETag:"7da88b-42b91-4f94778b58980"
  7. Keep-Alive:timeout=5, max=99
  8. Last-Modified:Tue, 13 May 2014 12:47:50 GMT
  9. Server:Apache
  10. X-Powered-By:PHP/5.4.20
Вопрос: почему хидеры такие разные и имя файла в непонятной кодировке, да еще и обрезано? Первоначальный запрос редиректится сервером на другой url - но это ведь питоновские либы сами разруливают и, я так понимаю, мне на этот уровень спускаться не нужно. Тем более, что большинство ответов на запросы файлов приходит с нужными мне хидерами и необрезанными именами (хотя и не в url-encoded, а в неправильно декодированном виде) в Content-Disposition. Может я чего-то не знаю в

requests

, что нужно настроить? PS: По сути на питоне я написал всего пару парсеров - поэтому можете сильно не пинать, если тут все элементарно. Просто поясните, если не затруднит. PPS: Забыл добавить, что ответ сервера у меня пишется в логфайл в кодировке UTF-8 (ответ скопирован оттуда). И все что мне нужно от заголовка Content-Disposition - это вытащить из имени файла расширение. Со всеми прочими файлами все окей, а с этим, скрипт
Листинг программы
  1. file_name = content_disposition.split("=")[1].strip(';')
  2. ext = os.path.splitext(file_name)[1]
получая такое имя, возвращает пустую строку вместо расширения.

Решение задачи: «Заголовки ответа от сервера, которые возвращает requests»

textual
Листинг программы
  1. (Status-Line):HTTP/1.1 200 OK
  2. Date:Sat, 08 Oct 2016 11:18:26 GMT
  3. Server:Apache
  4. X-Powered-By:PHP/5.4.20
  5. Content-Disposition:attachment; filename="Соломахін проти України.docx";
  6. Last-Modified:Tue, 13 May 2014 12:47:50 GMT
  7. ETag:"7da88b-42b91-4f94778b58980"
  8. Content-Length:273297
  9. Keep-Alive:timeout=5, max=99
  10. Connection:Keep-Alive
  11. Content-Type:application/msword

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.545 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут