Я использую библиотеку запросов python для некоторой проверки HTTP в приложении. У меня есть ситуация, когда мне нужно отправить начальный заголовок узла в запросах, но это не должно использоваться при переадресации, где это вызывает проблему.запросы python - удалить заголовки при перенаправлении
Я осмотрел документы запроса, но я не вижу способа, которым у меня могут быть запросы, чтобы удалить заголовки запросов при переадресации.
Вот пример моей проблемы
import requests
from requests.structures import CaseInsensitiveDict
s = requests.Session()
request_headers = CaseInsensitiveDict()
request_headers['host'] = 'google.co.uk'
response = s.get("http://google.co.uk",allow_redirects=True,headers=request_headers)
В этом случае google.co.uk будет перенаправлять https://www.google.co.uk, но застревают в цикле, потому что он будет посылать заголовок узла установлен в «google.co .uk 'даже после того, как он следует перенаправлению.
Мне всегда нужно использовать заголовок основного хоста по первому запросу из-за этого через CDN, который использует заголовок для определения сайта, на котором он служит. Удаление его из первоначального запроса не является вариантом.
Вот эквивалентный скручивание, которое отбрасывает заголовок узла после первоначального запроса. Это поведение, которое я бы хотел увидеть/ожидал от запросов Python
curl -H "Host: google.co.uk" http://google.co.uk -L -o /dev/null
Заголовок 'Host' должен быть автоматически установлен библиотекой. Если это не так, это ошибка в библиотеке. Вам не нужно устанавливать его явно. – ZhongYu
Он будет установлен библиотекой, но мне нужно установить это явно для первого запроса. Я бы хотел удалить этот заголовок для любых последующих перенаправлений. – joeButler