python验证公网ip与内网ip的实现示例

 更新时间:2023年07月07日 15:50:42   作者:卑微阿文  
本文主要介绍了python验证公网ip与内网ip的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

公网IP和内网IP都是用于标识网络设备的地址,但它们有着不同的作用和特点。

公网IP是由互联网服务提供商(ISP)分配给用户设备的唯一标识符。它是全球范围内唯一的,并且可以被其他网络设备使用来寻找和连接特定的设备。公网IP通常用于连接到互联网,允许用户访问全球范围内的网络资源。

内网IP是指在私有网络中使用的IP地址。一个内网可以是一个公司、学校或家庭网络。在内网中,设备通常使用私有IP地址,这些地址无法从公共互联网中访问到。内网IP地址通过路由器转发到公网,从而实现对互联网的访问。

Python作为一种解释型语言,可以方便地操作网络接口,支持使用Socket API访问网络资源。下面将通过Python举例说明如何验证公网IP和内网IP。

验证公网IP地址

Python中验证公网IP地址的方法主要是通过访问指定的网站或使用Python库中的特定模块来获取当前系统的公网IP地址。

1.使用urllib库访问百度

import urllib.request
def get_public_ip(): data = urllib.request.urlopen('http://www.baidu.com/s?wd=ip').read() data = data.decode('UTF-8') start = data.find('您的IP地址是') if start == -1: return False start += 7 end = data.find('&', start) if end == -1: return False return data[start:end]
print(get_public_ip())

2.使用requests库

import requests
def get_public_ip(): url = 'https://api.ipify.org' response = requests.get(url) return response.text.strip()
print(get_public_ip())

验证内网IP地址

Python中验证内网IP地址的方法也比较简单,可以通过获取本地网络设置信息或使用Python标准库中的socket模块来获取。

1.使用socket模块

import socket
def get_local_ip(): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect(('8.8.8.8', 80)) ip_address = s.getsockname()[0] s.close() return ip_address
print(get_local_ip())

2.使用psutil库

import psutil
def get_local_ip(): addrs = psutil.net_if_addrs() for interface_name, interface_addresses in addrs.items(): for address in interface_addresses: if str(address.family) == 'AddressFamily.AF_INET': return address.address
print(get_local_ip())

总结

通过以上代码,我们可以轻松地验证公网IP地址和内网IP地址。需要注意的是,公网IP地址是唯一的,因为它是由ISP分配的,而内网IP地址在本地网络中是唯一的,但在全球范围内并不唯一。因此,在编写代码时需要考虑不同的使用场景。

到此这篇关于python验证公网ip与内网ip的实现示例的文章就介绍到这了,更多相关python验证公网ip与内网ip内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pandas实现一行拆分成多行

    pandas实现一行拆分成多行

    这篇文章主要介绍了pandas实现一行拆分成多行方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • 18个Python入门经典必背的程序分享

    18个Python入门经典必背的程序分享

    这篇文章主要为大家介绍了Python入门经典必背的18个程序。注意:这是初学者要牢记的 18 个代码,入门之后就简单了,快跟随小编一起来学习一下吧
    2023-02-02
  • Python Django Cookie 简单用法解析

    Python Django Cookie 简单用法解析

    这篇文章主要介绍了Python Django Cookie 简单用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python面向对象编程(一)

    Python面向对象编程(一)

    本文详细讲解了Python的面向对象编程,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 基于Python实现自动化文档整理工具

    基于Python实现自动化文档整理工具

    一个人可能会在计算机上存储大量的照片、视频和文档文件,这些文件可能散落在不同的文件夹中,难以管理和查找。所以本文就来用Python制作一个自动化文档整理工具吧
    2023-04-04
  • Python的子线程和子进程是如何手动结束的?

    Python的子线程和子进程是如何手动结束的?

    今天给大家带来的是关于Python的相关知识,文章围绕着如何手动结束Python的子线程和子进程展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Python中多线程的创建及基本调用方法

    Python中多线程的创建及基本调用方法

    由于注明的GIL的存在,Python尽管能创建多个线程,但是多线程却不能同时工作...well,这里我们来看一下Python中多线程的创建及基本调用方法
    2016-07-07
  • 让你相见恨晚的十个Python骚操作

    让你相见恨晚的十个Python骚操作

    这篇文章主要给大家介绍了十个让你相见恨晚的Python骚操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Python 3.10 中 6 个兴奋的新特性

    Python 3.10 中 6 个兴奋的新特性

    Python 是当今最流行的编程语言之一其流行的原因有很多种,Python 3.10 有几个新的很酷的功能,使得使用 Python 成为一种更好的体验。在本文中,我将与您分享 6 个让我最兴奋的新特性,感兴趣的朋友一起看看吧
    2021-10-10
  • Python单元测试实例详解

    Python单元测试实例详解

    这篇文章主要介绍了Python单元测试,结合实例形式详细分析了Python单元测试模块的功能、使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-05-05

最新评论