使用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实现远程调用MetaSploit的方法
Aug 22 Python
Python爬取Coursera课程资源的详细过程
Nov 04 Python
定制FileField中的上传文件名称实例
Aug 23 Python
Python读取excel指定列生成指定sql脚本的方法
Nov 28 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
Dec 11 Python
python requests更换代理适用于IP频率限制的方法
Aug 21 Python
python实现把二维列表变为一维列表的方法分析
Oct 08 Python
如何给Python代码进行加密
Jan 10 Python
Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例
Mar 03 Python
PyTorch中的C++扩展实现
Apr 02 Python
python字典的值可以修改吗
Jun 29 Python
tensorflow中的数据类型dtype用法说明
May 26 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
日本十大最佳动漫,全都是二次元的神级作品
2019/10/05 日漫
咖啡语言
2021/03/03 咖啡文化
最贵的咖啡是怎么产生的,它的风味怎么样?
2021/03/04 新手入门
PHP产生随机字符串函数
2006/12/06 PHP
PHP 遍历文件实现代码
2011/05/04 PHP
php cli 小技巧
2013/06/03 PHP
使用session判断用户登录用户权限(超简单)
2013/06/08 PHP
PHP中的魔术方法总结和使用实例
2015/05/11 PHP
js直接编辑当前cookie的脚本
2008/09/14 Javascript
JavaScript学习历程和心得小结
2010/08/16 Javascript
基于jquery插件实现常见的幻灯片效果
2013/11/01 Javascript
JavaScript中函数(Function)的apply与call理解
2015/07/08 Javascript
javascript实现延时显示提示框特效代码
2016/04/27 Javascript
使用JS组件实现带ToolTip验证框的实例代码
2017/08/23 Javascript
Vue动态组件与异步组件实例详解
2019/02/23 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
JavaScript实现省份城市的三级联动
2020/02/11 Javascript
js中switch语句的学习笔记
2020/03/25 Javascript
Vue中函数防抖节流的理解及应用实现
2020/04/24 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
[06:04]DOTA2英雄梦之声Vol19卓尔游侠
2014/06/20 DOTA
[02:38]DOTA2亚洲邀请赛小组赛精彩集锦:Wings完美团击溃对手
2017/03/29 DOTA
Python 装饰器使用详解
2017/07/29 Python
python装饰器深入学习
2018/04/06 Python
Numpy array数据的增、删、改、查实例
2018/06/04 Python
python如何导入依赖包
2020/07/13 Python
css3旋转木马_动力节点Java学院整理
2017/07/12 HTML / CSS
Parfume Klik丹麦:香水网上商店
2018/07/10 全球购物
美国购买当代和现代家具网站:MODTEMPO
2018/07/20 全球购物
输入一行文字,找出其中大写字母、小写字母、空格、数字、及其他字符各有多少
2016/04/15 面试题
合唱兴趣小组活动总结
2014/07/10 职场文书
校长四风对照检查材料
2014/09/27 职场文书
死亡证明书样本说明
2014/10/18 职场文书
四风问题党员个人整改措施
2014/10/27 职场文书
《小摄影师》教学反思
2016/02/18 职场文书
PHP中国际化的字符串排序和比较对象详解
2021/08/23 PHP