使用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中使用urllib2获取http请求状态码的代码例子
Jul 07 Python
关于Python 3中print函数的换行详解
Aug 08 Python
python语言中with as的用法使用详解
Feb 23 Python
深入分析python中整型不会溢出问题
Jun 18 Python
python实现自动网页截图并裁剪图片
Jul 30 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
Jan 29 Python
Python multiprocessing多进程原理与应用示例
Feb 28 Python
Django页面数据的缓存与使用的具体方法
Apr 23 Python
python+selenium实现简历自动刷新的示例代码
May 20 Python
Python列表删除元素del、pop()和remove()的区别小结
Sep 11 Python
pandas分组聚合详解
Apr 10 Python
Python Selenium异常处理的实例分析
Feb 28 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开发框架总结收藏
2008/04/24 PHP
php实现网站插件机制的方法
2009/11/10 PHP
smarty基础之拼接字符串的详解
2013/06/18 PHP
php中call_user_func函数使用注意事项
2014/11/21 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
phpmailer绑定邮箱的实现方法
2016/12/01 PHP
在laravel中使用with实现动态添加where条件
2019/10/10 PHP
利用WebBrowser彻底解决Web打印问题(包括后台打印)
2009/06/22 Javascript
超级酷和最实用的jQuery实例收集(20个)
2010/04/21 Javascript
JS实现很酷的EMAIL地址添加功能实例
2015/02/28 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
2016/06/12 Javascript
AngularJS延迟加载html template
2016/07/27 Javascript
JavaScript实现随机数生成器(去重)
2017/10/13 Javascript
nodejs+mongodb+vue前后台配置ueditor的示例代码
2018/01/02 NodeJs
基于 Vue.js 2.0 酷炫自适应背景视频登录页面实现方式
2018/01/17 Javascript
vue 内置过滤器的使用总结(附加自定义过滤器)
2018/12/11 Javascript
4 种滚动吸顶实现方式的比较
2019/04/09 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
uploadify插件实现多个图片上传并预览
2019/09/30 Javascript
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
详解python中xlrd包的安装与处理Excel表格
2016/12/16 Python
使用 Python 实现简单的 switch/case 语句的方法
2018/09/17 Python
python实现滑雪者小游戏
2020/02/22 Python
PyCharm上安装Package的实现(以pandas为例)
2020/09/18 Python
基于HTML5的WebSocket的实例代码
2018/08/15 HTML / CSS
DNA测试:Orig3n
2019/03/01 全球购物
Bandier官网:奢侈、时尚前卫的健身服装首选目的地
2020/07/05 全球购物
办公室内勤工作职责
2013/12/11 职场文书
电子商务专业个人的自我评价
2013/12/19 职场文书
小学生演讲稿
2014/01/12 职场文书
考试没考好检讨书
2015/05/06 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书
生鲜超市—未来中国最具有潜力零售业态
2019/08/02 职场文书
mysql中between的边界,范围说明
2021/06/08 MySQL
Nginx防盗链与服务优化配置的全过程
2022/01/18 Servers
SQL Server的存储过程与触发器以及系统函数和自定义函数
2022/04/10 SQL Server