使用Python脚本实现批量网站存活检测遇到问题及解决方法


Posted in Python onOctober 11, 2016

做渗透测试的时候,有个比较大的项目,里面有几百个网站,这样你必须首先确定哪些网站是正常,哪些网站是不正常的。所以自己就编了一个小脚本,为以后方便使用。

具体实现的代码如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
'''
@Author:joy_nick
@博客:http://byd.dropsec.xyz/
'''
import requests
import sys
f = open('url.txt', 'r')
url = f.readlines()
length = len(url)
url_result_success=[]
url_result_failed=[]
for i in range(0,length):
try:
response = requests.get(url[i].strip(), verify=False, allow_redirects=True, timeout=5)
if response.status_code != 200:
raise requests.RequestException(u"Status code error: {}".format(response.status_code))
except requests.RequestException as e:
url_result_failed.append(url[i])
continue
url_result_success.append(url[i])
f.close()
result_len = len(url_result_success)
for i in range(0,result_len):
print '网址%s' % url_result_success[i].strip()+'打开成功'

测试结果如下:

遇到的问题:

刚开始测试的时候,遇到只要是不能错误,或者不存在的,直接报错停止程序。后来发现是因为response.status_code != 200这里取状态码的时候错误。

因为有的网站不能打开的话,不会返回状态码。所以程序就不知道!==200怎么处理了。

解决方法:

使用try except else捕捉异常

具体代码为:

try:
response = requests.get(url[i].strip(), verify=False, allow_redirects=True, timeout=5)
if response.status_code != 200:
raise requests.RequestException(u"Status code error: {}".format(response.status_code))
except requests.RequestException as e:
url_result_failed.append(url[i])
continue

以上所述是小编给大家介绍的使用Python脚本实现批量网站存活检测遇到问题及解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python抓取京东图书评论数据
Aug 31 Python
判断网页编码的方法python版
Aug 12 Python
python批量添加zabbix Screens的两个脚本分享
Jan 16 Python
速记Python布尔值
Nov 09 Python
Python实现端口检测的方法
Jul 24 Python
Python实现的ftp服务器功能详解【附源码下载】
Jun 26 Python
python简单实现矩阵的乘,加,转置和逆运算示例
Jul 10 Python
python与C、C++混编的四种方式(小结)
Jul 15 Python
django组合搜索实现过程详解(附代码)
Aug 06 Python
flask 使用 flask_apscheduler 做定时循环任务的实现
Dec 10 Python
Python使用graphviz画流程图过程解析
Mar 31 Python
基于python纯函数实现井字棋游戏
May 27 Python
深入浅析ImageMagick命令执行漏洞
Oct 11 #Python
Zabbix实现微信报警功能
Oct 09 #Python
python 2.6.6升级到python 2.7.x版本的方法
Oct 09 #Python
Django1.7+python 2.78+pycharm配置mysql数据库
Oct 09 #Python
解决python2.7 查询mysql时出现中文乱码
Oct 09 #Python
基于python脚本实现软件的注册功能(机器码+注册码机制)
Oct 09 #Python
python连接mysql实例分享
Oct 09 #Python
You might like
绿山咖啡和蓝山咖啡
2021/03/04 新手入门
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
完整显示当前日期和时间的JS代码
2007/09/17 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
js写一个字符串转成驼峰的实例
2013/06/21 Javascript
Javascript四舍五入Math.round()与Math.pow()使用介绍
2013/12/27 Javascript
含有CKEditor的表单如何提交
2014/01/09 Javascript
Javascript和Java获取各种form表单信息的简单实例
2014/02/14 Javascript
Node.js中创建和管理外部进程详解
2014/08/16 Javascript
node.js中的emitter.on方法使用说明
2014/12/10 Javascript
javascript模拟C#格式化字符串
2015/08/26 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
微信小程序图片自适应支持多图实例详解
2017/06/21 Javascript
vue音乐播放器插件vue-aplayer的配置及其使用实例详解
2017/07/10 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
2017/08/09 Javascript
vue项目打包之后背景样式丢失的解决方案
2019/01/17 Javascript
antd table按表格里的日期去排序操作
2020/11/17 Javascript
python使用calendar输出指定年份全年日历的方法
2015/04/04 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
2019/07/09 Python
Pytorch卷积层手动初始化权值的实例
2019/08/17 Python
python使用if语句实现一个猜拳游戏详解
2019/08/27 Python
Python如何将模块打包并发布
2020/08/30 Python
python实现控制台输出颜色
2021/03/02 Python
一款利用纯css3实现的超炫3D表单的实例教程
2014/12/01 HTML / CSS
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
电信营业员自我评价分享
2014/01/17 职场文书
户外亲子活动策划方案
2014/02/07 职场文书
食品工程专业求职信
2014/06/15 职场文书
大学生交通专业求职信
2014/09/01 职场文书
2014最新开业庆典策划方案(5篇)
2014/09/15 职场文书
后进基层党组织整改方案
2014/10/25 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书
2019大学生实习报告
2019/06/21 职场文书
详解vue身份认证管理和租户管理
2021/05/25 Vue.js