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

1

Для общего запроса 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 ', ' class ', ' delattr ', ' dict ', ' dir ', ' doc ', ' enter ', ' eq ', ' exit ', ' format ', ' ge ', ' getattribute ',' getstate ',' gt ',' hash ',' init ',' init_subclass ',' iter ',' le ',' lt ',' module ',' ne ',' new ',' nonzero ', 'уменьшить', 'reduce_ex', 'Repr', 'SetAttr', 'SetState', 'SIZEOF', 'ул', 'subclasshook', 'weakref', '_content', '_content_consumed', '_next', ' "видимость", "закрытие", "соединение", "контент", "куки", "прошедшее", "кодирование", "заголовки", "история", "is_permanent_redirect", "is_redirect", "iter_content", "iter_lines",, 'json', 'links', 'next', 'ok', 'raise_for_status', 'raw', 'reason', 'request', 'status_code', 'text', 'url']

Что-то здесь может содержать? Благодарю.

Теги:
python-3.x
post

1 ответ

1
Лучший ответ

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

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

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню