使用IP地址在python中查找位置

1 python sockets ip geolocation

我正在使用此python代码来获取用户的ip地址:

import socket
print socket.gethostbyname(socket.gethostname())
Run Code Online (Sandbox Code Playgroud)

并使用它来找到他们的位置:

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)
Run Code Online (Sandbox Code Playgroud)

有人可以帮我找到一种方法来获取IP,然后将其放入代码的第二部分.该程序应该找到用户ip,没有他们做任何事情,然后显示位置.

谢谢.

kin*_*all 6

有几种方法可以在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)
Run Code Online (Sandbox Code Playgroud)

选择一个...最后三个主要取决于将由IP地址替换的令牌:%s,xxx(就像你在你的问题中所做的那样),或者{}.对于它的价值,最后一个选项被认为是现在"最好的方式".

其余的你似乎有一个很好的处理.