1. 使用socket库的gethostname()和gethostbyname()方法;2. 使用requests库的get()方法访问ipify网站。
步骤:
1、导入socket库
2、创建一个socket对象
3、使用socket对象的gethostbyname()方法获取本机IP地址
4、关闭socket连接
代码示例:
import socket def get_local_ip(): # 创建一个socket对象 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) try: # 获取本机IP地址 local_ip = socket.gethostbyname(socket.gethostname()) finally: # 关闭socket连接 s.close() return local_ip print("本机IP地址:", get_local_ip())
方法二:使用requests库获取本机IP地址
步骤:
1、导入requests库
2、使用requests库的get()方法发送一个HTTP请求到网站,如"http://ipapi.com/json"
3、解析返回的JSON数据,提取本机IP地址信息
4、打印本机IP地址
代码示例:
import requests def get_local_ip(): # 发送HTTP请求获取本机IP地址信息 response = requests.get("http://ipapi.com/json") data = response.json() # 提取本机IP地址信息 local_ip = data["query"]["locality"] + " " + data["query"]["regionName"] + " " + data["query"]["country"] + " " + data["query"]["isp"] return local_ip print("本机IP地址:", get_local_ip())
相关问题与解答:
1、问题:为什么使用两种不同的方法获取本机IP地址?
解答:因为不同的方法适用于不同的场景,使用socket库的方法可以获取到更准确的本地IP地址,而使用requests库的方法则可以通过访问外部网站来获取本机IP地址,适用于需要跨网络环境的场景。
2、问题:这两种方法是否都适用于所有操作系统和Python版本?
解答:是的,这两种方法都适用于大多数操作系统和Python版本,但是需要注意的是,在使用requests库之前,需要先安装该库,可以使用pip install requests
命令进行安装。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/519726.html