python获取ip的两种方法

方法一:

一般情况下使用socket.gethostbyname()的方式就可以获取本机IP地址,不排除偶尔的时候获取不到(比如没有正确设置主机名称),示例代码如下:

复制代码
import socket

获取本计算机的名称
hostname = socket.gethostname()
获取本计算机IP
ip = socket.gethostbyname(hostname)
print(ip)
复制代码
亲测:如果使用手机时,地址为127.0.0.1,如果使用电脑(windows)无线连接时,地址是外网的地址。

方法二:
在windows和Linux系统下均可正确获取IP地址,示例代码如下:

复制代码
import socket

def get_host_ip():
“”"
查询本机ip地址
:return: ip
“”"
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect((‘8.8.8.8’, 80))
ip = s.getsockname()[0]
finally:
s.close()

return ip

if name == ‘main’:
print(get_host_ip())
复制代码
亲测:无论手机还是电脑(windows)无线连接时,地址为设定地址(或自动获取的地址)。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值