我正在使用这个 python 代码来获取用户的 ip 地址:
import socket
print socket.gethostbyname(socket.gethostname())
并使用它来找到他们的位置:
import socket
print socket.gethostbyname(socket.gethostname())
import urllib
response = urllib.urlopen('http://api.hostip.info/get_html.php? ip=xxx&position=true').read()
print(response)
谁能帮我想办法获取ip,然后把它放到代码的第二部分。 该程序应该在用户不执行任何操作的情况下找到用户 ip,然后显示位置。
谢谢。
请您参考如下方法:
在 Python 中有几种方法可以进行这种字符串操作:
ip = socket.gethostbyname(socket.gethostname())
url = "http://api.hostip.info/get_html.php?ip=" + ip + "&position=true"
url = "http://api.hostip.info/get_html.php?ip=%s&position=true" % ip
url = "http://api.hostip.info/get_html.php?ip=xxx&position=true".replace("xxx", ip)
url = "http://api.hostip.info/get_html.php?ip={}&position=true".format(ip)
选择一个...最后三个主要取决于将由 IP 地址替换的 token :%s、xxx(就像您在问题)或{}。就其值(value)而言,最后一个选项在当今被认为是“最佳方式”。
其余的你似乎已经掌握得很好。
