网站测试(分享一个网站连通性测试Python脚本)

最近在更换互联网出口的设备,由于发布了大量的域名及系统,在设备替换实施后需要对所有互联网域名逐一验证测试,以确保业务正常。通过手工一个个网站域名进行测试费时费力,也容易遗漏。于是就编写了个简单的网站连通性测试脚本,来快速比对设备替换前跟替换后的业务连通性情况,在这里也分享一下。首先先准备一个url列表文本文件,将所有需要测试验证的url地址放进去。这里我新建一个文本文件叫url_list.txt,除了正常的网站外,我最后还加了两个假的不能访问的域名,以便测试失败的情况。当然,不做这个文本直接在Python代码中写成列表也可以。文本内容:https://www.163.com

https://www.baidu.com

https://www.qq.com

https://www.zhihu.com

https://texmqoef.com

https://gwkkka.com编写Python脚本这里用到requests模块,request直接使用GET方法,这里直接通过status_code来获取响应码。如200代码网站正常打开,但可能首页是有跳转到如301、302,也代表正常,所以我直接把有返回响应码都认为网站连接正常。这里GET请求我还加了个参数timeout=2,2秒无响应就往下走,以便连接失败的情况不会程序卡在那儿。import requests

def get_url(file):
"""取出文本中的url"""
urls = []
with open(file, mode='r') as f:
for line in f.read().splitlines():
urls.append(line)
return urls

def check_url(urls):
"""检测url"""
res_ls = []
fail_ls = []
for url in urls:
try:
r = requests.get(url, timeout=2)
res_dict = {url: r.status_code}
res_ls.append(res_dict)
except:
print(url + " 连接失败…\n")
fail_ls.append(url)
return res_ls, fail_ls

if __name__ == '__main__':
urls = get_url("url_list2.txt")
res_ls, fail_ls = check_url(urls)

print("连接成功的url:")
for res in res_ls:
for k, v in res.items():
print('连接成功 状态码:' + str(v) + ' url地址:' + k)

print("\n连接失败的url:")
for i in fail_ls:
print(i)运行脚本连接成功及连接失败的url地址都会分别列出来,以便进一步排查。如果需要更细致的判断,比如返回的是404、500这些认为是请求失败的,也可以根据实际需求修改脚本。


本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.xiaosb.com/beian/40499/