#python-2.7 #python-requests
#python-2.7 #python-запросы
Вопрос:
Я пытаюсь создать request.post (someURL), где имя хоста не совпадает с url.
Хост, к которому я пытаюсь подключиться, находится в частном кластере, но доступен с общедоступного URL. Проблема в том, что когда я делаю обычный post-запрос, я получаю ответ 404, потому что хост ожидает свое внутреннее имя (hostName).
Есть ли способ сделать что-то вроде response = request.post(someURL, hostname = имя хоста, data = данные), чтобы запрос отправлялся в someURL, но указывал hostName в качестве имени хоста вместо someURL.
Комментарии:
1. Использовал поле Host в заголовке, и это сработало
Ответ №1:
«hosts» почти всегда передается в заголовке. попробуйте что-то вроде этого
#add/remove whatever other headers you need
headers={
'Accept':'application/json, text/plain, */*',
'Accept-Encoding':'gzip, deflate, br',
'Accept-Language':'en-US,en;q=0.9',
'Host':'hostName'
}
response = request.post(someURL, headers=headers, data = data)
Обратите внимание, что вы можете захотеть проверить запрос, поскольку некоторым сайтам требуются хост, источник, Реферер и т.д.