1 Star 0 Fork 0

靳泽宇/靳泽宇所有代码

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
ip检测.py 1.71 KB
一键复制 编辑 原始数据 按行查看 历史
import re,requests
# 用于测试IP和端口是否可以用
import telnetlib
# 更换请求头
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36'}
# 创造一个类 Agency代理的意思
class Agency:
# Get_html 获取网页源代码,
def Get_html(self,url = "https://www.xicidaili.com/nn/"):
r = requests.get(url,headers=headers)
# r.encoding = r.apparent_encoding 可以自动选取编码方法
r.encoding = r.apparent_encoding
# print(r.text)
try:
if r.status_code == 503 or r.status_code == 404:
print("网站已禁止您的访问或网站维护中,请先更换IP")
except TypeError:
print("IP被封无法返回源代码,请先尝试更换IP")
else:
# 返回源代码
return r.text
# 用正则取 IP 和 端口 并检测
def Detection(self,url):
html = self.Get_html()
Regular = "(\d{1,3}[.]\d{1,3}[.]\d{1,3}[.]\d{2,3})\D*(\d{1,5})"
ip = re.findall(Regular,html)
for ips,port in ip:
print("IP:",ips,"端口:",port)
try:
telnetlib.Telnet(ips, port=port, timeout=1)
except:
print(ips,'连接失败')
else:
print(ips,port,'成功')
# 分页
def Run(self):
users = int(input("检测几页IP和端口?"))
for i in range(1,users+1):
urls = f"https://www.xicidaili.com/nn/{i}"
print(urls)
self.Detection(urls)
i+=1
if __name__ == '__main__':
url = "https://www.xicidaili.com/nn/"
Agency().Run()
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/jimzeyu/jin_zeyu_all_codes.git
git@gitee.com:jimzeyu/jin_zeyu_all_codes.git
jimzeyu
jin_zeyu_all_codes
靳泽宇所有代码
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385