【发布时间】:2012-11-22 02:05:41
【问题描述】:
如何使用发送 get 请求的客户端的 IP 地址? 我的目标是为每个客户端创建唯一的文件,其中文件将被命名为客户端的 IP 地址。抱歉,我有一段时间没有使用 Python。
【问题讨论】:
-
您在 Python 中使用的是哪个 Web 框架?
-
我还没有做任何事情。我打算从这里开始:linuxjournal.com/content/…
如何使用发送 get 请求的客户端的 IP 地址? 我的目标是为每个客户端创建唯一的文件,其中文件将被命名为客户端的 IP 地址。抱歉,我有一段时间没有使用 Python。
【问题讨论】:
阅读文档。如果您打算使用标准库 HTTPServer,您可以看到它将在您的处理程序中向您发送客户端地址:
类 BaseHTTPServer.BaseHTTPRequestHandler(request, client_address, server)
此类用于处理到达服务器的 HTTP 请求。就其本身而言 无法响应任何实际的 HTTP 请求;它必须被子类化为 处理每个请求方法(例如 GET 或 POST)。 BaseHTTPRequestHandler 提供了一些类和实例变量,以及使用方法 按子类。处理程序将解析请求和标头,然后调用方法 特定于请求类型。方法名称由 要求。例如,对于请求方法 SPAM,do_SPAM() 方法将在没有参数的情况下被调用。所有相关的 信息存储在处理程序的实例变量中。子类 不需要重写或扩展 init() 方法。
...
客户地址:
包含一个表示客户端地址的元组(主机、端口)。
类 SimpleHTTPServer.SimpleHTTPRequestHandler(request, client_address, server)
【讨论】:
您可以按如下方式导入请求模块。
import requests
r = requests.get('https://api.github.com/user',
auth=('user', 'pass'))
r.status_code
r.encoding
r.json()
可以通过此文档找到更多信息:http://docs.python-requests.org/en/master/
【讨论】: