В Python для запроса POST возможно ли получить IP-адрес, используемый для запроса, из объекта запроса POST? - PullRequest
0 голосов
/ 27 августа 2018

Для общего запроса POST в Python, например:

>>> import requests
>>> r = requests.post(url=url, data=data, headers = headers, cookies = cookies)
>>> type(r)
<class 'requests.models.Response'>

Можно ли получить IP-адрес, который использовался во время отправки запроса?Я попытался просмотреть его содержимое, используя dir(r) и получил:

dir(r)

[' attrs ', ' bool ', ' класс ',' delattr ',' dict ',' dir ',' doc ',' введите ',' экв ',' выход ',' формат ',' ge ',' getattribute ',' getstate ',' gt ',' hash ',' init ',' init_subclass ',' iter ',' le ',' lt ',' module ',' ne ',' new ',' отлично от нуля ',' уменьшите ',' redu_ex ',' repr ',' setattr ',' setstate ',' sizeof ',' str ',' subclasshook ',' weakref ',' _content ',' _content_consumed ',' _next ',' visible_encoding ',' close ',' connection ',' content ',' cookies ','elapsed', 'encoding', 'headers', 'history', 'is_permanent_redirect', 'is_redirect ',' iter_content ',' iter_lines ',' json ',' links ',' next ',' ok ','нять_for_status', 'raw', 'reason', 'request', 'status_code', 'text', 'url']

Есть ли здесь что-то, что могло бы содержать это?спасибо.

1 Ответ

0 голосов
/ 27 августа 2018

"Нет".Фактическое IP-разрешение происходит относительно низко в стеке HTTP-запросов и, как правило, не отображается (в «любом» высокоуровневом HTTP API, независимо от языковой реализации).

Вместо получите имя хоста из URL и разрешите извлеченное имя хоста в IP .

Существует очень короткое окно времениэто технически «могло бы» привести к другому значению, но оно «должно быть достаточно хорошим», особенно с учетом того, что разрешение сетевых имен кэшируется и слишком сильно полагается на разрешенные звуки IP-адресов… в стиле фанк.

(Хотя сначала можно разрешить IP-адрес и использовать его для запроса, он также изменит заголовки узлов HTTP. Так что: вероятно, это не полезно.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...