使用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跳出循环语句continue与break的区别
Aug 25 Python
Python最长公共子串算法实例
Mar 07 Python
使用Django的模版来配合字符串翻译工作
Jul 27 Python
详解Python中的变量及其命名和打印
Mar 11 Python
python3编码问题汇总
Sep 06 Python
python实现对excel进行数据剔除操作实例
Dec 07 Python
Python面向对象之继承代码详解
Jan 29 Python
python实现对服务器脚本敏感信息的加密解密功能
Aug 13 Python
pytorch自定义二值化网络层方式
Jan 07 Python
Python验证码截取识别代码实例
May 16 Python
如何用python处理excel表格
Jun 09 Python
Python数据可视化实现多种图例代码详解
Jul 14 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实现定时生成HTML网站首页实例代码
2008/11/20 PHP
C# Assembly类访问程序集信息
2009/06/13 PHP
PHP开发中常用的三个表单验证函数使用小结
2010/03/03 PHP
有关JSON以及JSON在PHP中的应用
2010/04/09 PHP
PHP常用的文件操作函数经典收藏
2013/04/02 PHP
PHP 观察者模式的实现代码
2013/05/10 PHP
php批量添加数据与批量更新数据的实现方法
2014/12/16 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
2016/03/02 PHP
php获取微信共享收货地址的方法
2017/12/21 PHP
JavaScript初学者需要了解10个小技巧
2010/08/25 Javascript
使用JS进行目录上传(相当于批量上传)
2010/12/05 Javascript
JavaScript call apply使用 JavaScript对象的方法绑定到DOM事件后this指向问题
2011/09/28 Javascript
javaScript(JS)替换节点实现思路介绍
2013/04/17 Javascript
从零学习node.js之express入门(六)
2017/02/25 Javascript
BootStrap表单时间选择器详解
2017/05/09 Javascript
浅谈vue2 单页面如何设置网页title
2017/11/08 Javascript
JQuery实现table中tr上移下移的示例(超简单)
2018/01/08 jQuery
jQuery扩展方法实现Form表单与Json互相转换的实例代码
2018/09/05 jQuery
浅谈webpack+react多页面开发终极架构
2018/11/11 Javascript
原生JS实现动态添加新元素、删除元素方法
2019/05/05 Javascript
[10:21]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster 选手采访
2021/03/11 DOTA
在SAE上部署Python的Django框架的一些问题汇总
2015/05/30 Python
web.py在SAE中的Session问题解决方法(使用mysql存储)
2015/06/24 Python
python迭代器与生成器详解
2016/03/10 Python
Python制作简易注册登录系统
2016/12/15 Python
Python中元组,列表,字典的区别
2017/05/21 Python
requests在python中发送请求的实例讲解
2021/02/17 Python
世界最大的海报和艺术印刷商店:AllPosters.com
2017/02/01 全球购物
办公室文员岗位职责范本
2014/06/12 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
市场部岗位职责范本
2015/04/15 职场文书
2015年中秋晚会主持词
2015/07/01 职场文书
办公用品管理制度
2015/08/04 职场文书
导游词之京东大峡谷旅游区
2019/10/29 职场文书
HTML+JS实现在线朗读器
2022/02/15 Javascript
代码复现python目标检测yolo3详解预测
2022/05/06 Python