程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

使用 python 完成 IP 存活檢測

編輯:Python

IP 存活檢測

最近在構建自用 IP 池,其中在獲取 IP 後篩選存活 IP方法做如下總結。

主要有三種方式:

  • 使用 telnetlib 模塊
  • 使用 urllib 模塊
  • 使用 requests 模塊

下面就上面三種方式使用簡單介紹:

使用 telnetlib 模塊檢測 IP 存活性(不推薦)

import telnetlib
ip = '195.170.38.230'
port = '8080'
try:
res = telnetlib.Telnet(ip, port, timeout=10)
print(res)
except Exception as e:
print('>>>', e)
print('ip invalidate')

使用 urllib 模塊

from urllib import request
link = 'https://www.baidu.com'
# 注意這裡的 proxy_ip 是 mapping 的形式 eg: {key: value},其中如果 port 不是 80 需要寫出
proxy_ip = {
'http': '195.170.38.230:8080'}
proxy_support = request.ProxyHandler(proxy_ip)
opener = request.build_opener(proxy_support)
opener.addheaders = [('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36')]
res = request.urlopen(link)
print(res)

使用 requests 模塊

import requests
headers = {

'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Safari/605.1.15'
}
link = 'https://www.baidu.com'
# 同理這裡如果 port 不是默認 80 需要單獨寫出
proxies = {
'http': '195.170.38.230:8080'}
print('正在測試ip:', real_ip)
result = requests.get(link, headers=headers, proxies=proxies, timeout=10)
if response.status_code not in SUCCESS_CODES:
print('>>>{}無效ip'.format(real_ip))
else:
print('success>>>{} ip有效'.format(real_ip))

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved