网络地址来源:
获取公网IP地址https://ipip.yy.com/get_ip_info.phphttp://pv.sohu.com/cityjson?ie=utf-8http://www.ip168.com/json.do?view=myipaddresshttp://www.ipip.net/ip.phphttp://ip.chemdrug.com/http://ip.siteloop.net/http://whois.pconline.com.cn/ipJson.jsp?callback={IP:255.255.255.255}http://www.whatismyip.com.tw/
Python
import requestsfrom bs4 import BeautifulSoupdef getIP():headers = {"Accept": "text/html,Application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","User-Agent": "Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.16 Safari/537.36",}url = 'http://www.whatismyip.com.tw/'response = requests.get(url=url,headers=headers).content.decode()soup = BeautifulSoup(response, 'html.parser')ipaddress = soup.find_all('b')[0].find("span").textip_list = ["127.0.0.1","1.204.29.177"]if ipaddress in ip_list:print("合法登录")else:print("非法登录")getIP()
PHP
$url = "http://pv.sohu.com/cityjson?ie=utf-8"; $content = file_get_contents($url); $data = explode("=",$content); $str = substr($data[1],0,strlen($data[1])-1); $ip_str = explode(",",$str)[0]; $ip_str = explode(":",$ip_str); $visitor_ip = explode('"',$ip_str[1])[1]; # 访问者ip# 获取ip库$filename = "ip_list.txt";$arr = array();if (0 < filesize($filename)){$handle = fopen($filename, "r");//读取二进制文件时,需要将第二个参数设置成'rb'//通过filesize获得文件大小,将整个文件一下子读到一个字符串中$contents = fread($handle, filesize ($filename));fclose($handle);$arr = explode("rn",trim($contents,"rn"));}if (in_array($visitor_ip,$arr) || 0 == count($arr)){echo "合法";}else{echo "非法";}
【PHP&Python获取当前网络外网ip地址】
推荐阅读
- 一文讲透 Python 协程
- Python绘制多维度专题地图
- 如何理解c/c++和php语言的区别
- 视频调整分辨率的python代码,一如既往地实用
- 太好玩了!6种Python实现「实时」显示进度条
- 简单介绍Python中异常处理用法
- 详解一个Python库,用于构建精美数据可视化web app
- python的反射到底有什么用?
- 人生苦短,必须学会的写Python代码利器
- 慎用!Python 实现微信消息轰炸