01 奇妙的Python库之【socket(获取本机ip地址)】

2021-09-08 10:25:27 浏览数 (1)

前言

Python有着很多很酷的第三方库,可以使任务变得更容易,可以说Python丰富的第三方库资源是它的优势,甚至有时候我们花了大量精力写好了代码,却发现一个库函数就轻而易举解决了。但是Python有太多库了,究竟哪些是让人相见恨晚的呢?

接下来,我们每天介绍一个有趣的Python库。我相信你看完之后也会觉得离不开它们!

简介

socket(获取本机ip地址)

使用socket,先获取电脑的主机名后,再获取本机的IP地址。

其中socket是Python内置标准库,无需安装。

代码语言:javascript复制
import socket as s

hostn = s.gethostname()
Laptop = s.gethostbyname(hostn)
print("你的电脑本地IP地址是:"   Laptop)

得到结果如下,此IP为局域网内IP

代码语言:javascript复制
你的电脑本地IP地址是:10.13.49.135

如若想获取电脑的公网IP地址,可以借助一些第三方网站,比如下面这个。

  • https://jsonip.com/
代码语言:javascript复制
{"ip":"106.39.150.112","geo-ip":"https://getjsonip.com/#plus","API Help":"https://getjsonip.com/#docs"}

代码如下,同样取消证书验证。

代码语言:javascript复制
import json
from urllib.request import urlopen

# 全局取消证书验证
import ssl
ssl._create_default_https_context = ssl._create_unverified_context


with urlopen(r'https://jsonip.com') as fp:
    content = fp.read().decode()

ip = json.loads(content)['ip']
print("你的电脑公网IP地址是:"   ip)

对网站发起请求,解析返回的结果。

最后成功得到公网IP地址。

代码语言:javascript复制
你的电脑公网IP地址是:107.38.151.212

下集预告

  • pyqrcode(生成二维码)
  • 等等...

0 人点赞