Чтение заголовка HTTP Python - PullRequest
       1

Чтение заголовка HTTP Python

0 голосов
/ 21 октября 2018

Я написал очень простой веб-сервер на python, который может принимать запросы и выводить данные обратно клиенту.Но моя проблема заключается в чтении HTTP-запроса. Есть ли в Python библиотека для простого разбиения заголовка HTTP?Потому что я бы предпочел не использовать мой неуклюжий код только для получения данных GET.

Ответы [ 2 ]

0 голосов
/ 09 августа 2019

Вот как вы получаете просто заголовки ответа с использованием библиотеки запросов (реализация в Python3):

import requests

url = "https://www.google.com"
response = requests.head(url)
print(response.headers) # prints the entire header as a dictionary
print(response.headers["Content-Length"]) # prints a specific section of the dictionary

Важно использовать .head () вместо .get ()в противном случае вы получите весь файл / страницу.

Если вы хотите получить URL-адрес, требующий аутентификации, вы можете заменить вышеуказанное response следующим:

response = requests.head(url, auth=requests.auth.HTTPBasicAuth(username, password))
0 голосов
/ 21 октября 2018

Вы можете использовать модуль Requests, чтобы получить все подробности из HTTP-запроса, вот небольшой пример ниже из документации

>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.encoding
'utf-8'
>>> r.text
u'{"type":"User"...'
>>> r.json()
{u'private_gists': 419, u'total_private_repos': 77, ...}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...