【python编程】使用python获取机器所在网络的公网IP(第一种方法)
通过访问特定的网址,可以获取本机所在网络的公网IP。
根据网址返回的信息结构,可以使用3种解析办法。
1,对于直接返回ip地址的
https://ident.me
https://ifconfig.me/ip
http://icanhazip.com
https://checkip.amazonaws.com
以上4个网址直接返回ip,可用如下示例代码获取公网ip
import requestsdef get_external_ip():try:ip = requests.get('https://ident.me').text.strip()return ipexcept:return None
2,对于返回json,ip地址为json中的一节点
http://jsonip.com/
http://ip.jsontest.com/
http://www.trackip.net/ip?json
以上3个网址返回的是json字符串,根据字符串内容,可用如下示例代码获取公网ip(假如json中ip节点存储有信息)
import requestsdef get_external_ip():try:ip = requests.get("http://jsonip.com/").json().get('ip')return ipexcept:return None
3,对于返回xml的
https://ip.tool.chinaz.com/
上面网址返回的xml文档,需要解析xml文档,找到对应节点获取ip地址,示例代码如下
import requests
from bs4 import BeautifulSoupdef get_external_ip():try:website = 'https://ip.tool.chinaz.com/'rsp = requests.get(url=website)soup = BeautifulSoup(rsp.text, 'lxml')ip = soup.find("dd", class_="fz24").get_text()return ipexcept:return None
第1、2方式获取ip地址是最简洁的。
【python编程】使用python获取机器所在网络的公网IP(第一种方法)相关推荐
- 【python编程】使用python获取机器所在网络的公网IP(第二种方法)
上一篇文章讲解利用python中的requests模块获取公网IP.今天,我们换一种方法,使用curl命令来获取公网IP地址,将curl命令运行在subprocess中,提炼方法如下: import ...
- 站长在线经典Python题:使用Python编程思想解决鸡兔同笼的问题的4种方法
欢迎你来到站长在线的Python题库,鸡兔写完Python教程以后,还是来一个Python的题目吧!想来想去,还是写一个经典的题目为好,作为本栏目的第一个题目.我就想到了比较热门的题目<鸡兔同笼 ...
- python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法
python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法 目录
- 基于jupyter notebook的python编程-----通过python编程实现RSSI测距定位技术仿真
基于jupyter notebook的python编程-----通过python编程实现RSSI测距定位技术仿真目录 一.RSSI测距定位简介 1.什么是RSSI测距定位 2.RSSI测距定位优点 3 ...
- python快速编程入门黑马-新手如何快速入门Python编程?/开发python入门教程
Python从入门到实践的教程是什么? 第一阶段Python与Linux数据这是Python的入段,也是帮助零基础学员打好基础的重要阶段,让零基础学员可以具备基础的编程能力,并掌握MySQL进阶内容. ...
- python字母表顺序函数_python获取字母在字母表对应位置的几种方法及性能对比较...
python获取字母在字母表对应位置的几种方法及性能对比较 某些情况下要求我们查出字母在字母表中的顺序,A = 1,B = 2 , C = 3, 以此类推,比如这道题目 https://project ...
- python字母对应序号_python获取字母在字母表对应位置的几种方法及性能对比较
python获取字母在字母表对应位置的几种方法及性能对比较 某些情况下要求我们查出字母在字母表中的顺序,A = 1,B = 2 , C = 3, 以此类推,比如这道题目 https://project ...
- python 运算符重载_Python 炫技操作:模块重载的五种方法
点击上方"Python编程时光",选择"加为星标"第一时间关注Python技术干货!明哥原创的200页<PyCharm 中文指南> 震撼发布 系列文 ...
- Python 炫技操作(九):调用函数的九种方法
系列导读 Python 炫技操作(一):条件语句的七种写法 Python 炫技操作(二):合并字典的七种方法 Python 炫技操作(三):判断是否包含子串的七种方法 Python 炫技操作(四):连 ...
最新文章
- 「斐波那契」投稿法不好使了:IJCAI 2020出台新规,隐瞒「拒稿重投」者将被一票否决...
- 在JavaScript函数中定义全局变量
- iis mysql php 附件上传大小_修改上传附件2M大小限制的方法/php+iis上传附件默认大小修改方法...
- PyCharm——导入模块时提示Unresolved Reference解决方案
- python去停用词用nltk_【NLTK】安装和使用NLTK分词和去停词
- Redux 主要知识学习总结
- Docker : Docker创建自定义网桥
- Java新职篇:什么是键入程序
- You have not concluded your merge (MERGE_HEAD exists) git拉取失败
- 计算机科学导论填空题,计算机科学导论习题
- python实现DDA算法
- 什么是servlet?servlet有什么用?
- Sftp中文件名乱码
- 创科视觉软件说明书_机器视觉入门指南
- Aqua Comms携手Ciena 测试海底光缆网络150Gbps波长传输
- jetbrain秘密路径
- leetcode 5230 Check If It Is a Straight Line
- 哔哩哔哩2018校招前端笔试
- springboot+vue+Elementui农家乐管理系统-住宿-美食-活动
- 计算机软考答题卡填涂格式,全国计算机软考网络工程师填涂答题卡须知