如何在 Python 请求中查看请求 header 中的 IP 地址?
How can I see ip address in request header in Python requests?
当我向 url 发出请求时,我相信客户端的 IP 地址已发送到服务器。在那种情况下,IP 地址必须出现在请求 header 中,或者我错了吗?
所以,我说
import requests
resp = requests.get("http://localhost:8000/test")
print resp.request.headers
但是打印的时候看不到ip地址resp.request.headers,请问如何查看client的ip地址。如果我看不到它是 resp.request.headers 的一部分,如果它不存在于请求 header 中,服务器如何获取客户端的 IP 地址?
IP 地址不是由客户端设置的,它是连接的一部分。引自 here:
(remote address) is taken from the ip address that hits the http server and not in
the request. as if you are behind a proxy you would only see the ip of
the proxy. it doesnt touch the http header data
服务器得到一个连接,自然它也知道它来自哪里。
当我向 url 发出请求时,我相信客户端的 IP 地址已发送到服务器。在那种情况下,IP 地址必须出现在请求 header 中,或者我错了吗?
所以,我说
import requests
resp = requests.get("http://localhost:8000/test")
print resp.request.headers
但是打印的时候看不到ip地址resp.request.headers,请问如何查看client的ip地址。如果我看不到它是 resp.request.headers 的一部分,如果它不存在于请求 header 中,服务器如何获取客户端的 IP 地址?
IP 地址不是由客户端设置的,它是连接的一部分。引自 here:
(remote address) is taken from the ip address that hits the http server and not in the request. as if you are behind a proxy you would only see the ip of the proxy. it doesnt touch the http header data
服务器得到一个连接,自然它也知道它来自哪里。