使用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列表append和+的区别浅析
Feb 02 Python
CentOS中使用virtualenv搭建python3环境
Jun 08 Python
python 日期操作类代码
May 05 Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
Oct 29 Python
python socket 聊天室实例代码详解
Nov 14 Python
Python实现鼠标自动在屏幕上随机移动功能
Mar 14 Python
Python新手学习标准库模块命名
May 29 Python
python遍历路径破解表单的示例
Nov 21 Python
Python安装Bs4的多种方法
Nov 28 Python
Python实现粒子群算法的示例
Feb 14 Python
python pygame 愤怒的小鸟游戏示例代码
Feb 25 Python
Opencv实现二维直方图的计算及绘制
Jul 21 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
PHP后台实现微信小程序登录
2018/08/03 PHP
Yii框架核心组件类实例详解
2019/08/06 PHP
用javascript实现给出的盒子的序列是否可连为一矩型
2007/08/30 Javascript
用jquery ajax获取网站Alexa排名的代码
2009/12/12 Javascript
javascript 获取所有id中包含某关键字的控件的实现代码
2010/11/25 Javascript
jQuery插件开发基础简单介绍
2013/01/07 Javascript
浅析Node在构建超媒体API中的作用
2014/07/30 Javascript
用js传递value默认值的示例代码
2014/09/11 Javascript
jQuery Validate表单验证入门学习
2015/12/18 Javascript
jQuery prototype冲突的2种解决方法(附demo示例下载)
2016/01/21 Javascript
RequireJS 依赖关系的实例(推荐)
2017/01/21 Javascript
jquery对象与DOM对象转化
2017/02/08 Javascript
angular实现IM聊天图片发送实例
2017/05/08 Javascript
浅谈vue自定义全局组件并通过全局方法 Vue.use() 使用该组件
2017/12/07 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
Vue中v-show添加表达式的问题(判断是否显示)
2018/03/26 Javascript
Vue 项目代理设置的优化
2018/04/17 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
微信小程序实现pdf、word等格式文件上传的方法
2019/09/10 Javascript
[02:05]DOTA2完美大师赛趣味视频之看我表演
2017/11/18 DOTA
Python中函数的用法实例教程
2014/09/08 Python
django-rest-framework 自定义swagger过程详解
2019/07/18 Python
在pandas中遍历DataFrame行的实现方法
2019/10/23 Python
Python爬虫爬取煎蛋网图片代码实例
2019/12/16 Python
Python openpyxl 插入折线图实例
2020/04/17 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
西班牙著名的珠宝首饰品牌:P D PAOLA
2018/09/15 全球购物
SEPHORA丝芙兰捷克官网:购买香水、化妆品和护肤品
2018/11/26 全球购物
POP文化和音乐灵感的时尚:Hot Topic
2019/06/19 全球购物
英文求职信结束语大全
2013/10/26 职场文书
2014年终个人总结报告
2015/03/09 职场文书
小学公民道德宣传日活动总结
2015/03/23 职场文书
地震捐款简报
2015/07/21 职场文书
周一早安温馨问候祝福语!
2019/07/15 职场文书
如何使用Python提取Chrome浏览器保存的密码
2021/06/09 Python