Python:CGI程序想知道调用网页的IP地址
我刚开始学习Python编程。
我在一个本该很简单的操作上卡住了。我有一个小的基础Python程序,它是通过网页作为CGI程序调用的。
我想做的就是从HTTP头信息中提取IP地址。比如在PHP中,这个值就是$_SERVER['REMOTE_ADDR']
。
我查了一下,发现我需要使用web.ctx.ip,但当我在代码中使用这个时,出现了异常。我可能需要导入一些东西。我尝试了以下几个单独的导入,但都没有成功:
import web
import webapi as web
我希望能得到一个完整的代码示例,展示我需要导入什么。我的Python CGI程序运行在一台安装了基本Python 2.4.3的Linux机器上。我还需要安装其他东西吗?
2 个回答
1
上面的例子对我来说效果很好。我为了本地测试加了一些额外的内容。我花了很长时间才找到这个例子,所以“谢谢你!”
import cgi
import os
def f_get_ipaddress():
try:
ipaddress = cgi.escape(os.environ["REMOTE_ADDR"])
except:
ipaddress = "127.0.0.1"
return ipaddress
print "Content-type: text/html"
print ""
ipaddress = f_get_ipaddress()
print ipaddress
7
来自 这里:
# When run as a cgi script, this will print the client's IP address.
import html
import os
print("Content-type: text/html")
print("")
print html.escape(os.environ["REMOTE_ADDR"])
搜索的内容是“python cgi 获取IP地址”,这是第一个搜索结果。这个答案适用于通用的Python CGI,如果你使用的是其他接口或库,可能会有所不同。不过,正如你所看到的,它和PHP版本的实现是完全相似的。