Создать post-запрос с отдельным именем хоста и URL-адресом в python

#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)
  

Обратите внимание, что вы можете захотеть проверить запрос, поскольку некоторым сайтам требуются хост, источник, Реферер и т.д.