使用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 相关文章推荐
virtualenv实现多个版本Python共存
Aug 21 Python
详解Python自建logging模块
Jan 29 Python
浅析python实现scrapy定时执行爬虫
Mar 04 Python
python如何制作缩略图
Apr 30 Python
Django的用户模块与权限系统的示例代码
Jul 24 Python
pandas read_excel()和to_excel()函数解析
Sep 19 Python
Python多线程操作之互斥锁、递归锁、信号量、事件实例详解
Mar 24 Python
浅谈python锁与死锁问题
Aug 14 Python
Matplotlib animation模块实现动态图
Feb 25 Python
python中使用asyncio实现异步IO实例分析
Feb 26 Python
pycharm代码删除恢复的方法
Jun 26 Python
Python 中的Sympy详细使用
Aug 07 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 Squid中可缓存的动态网页设计
2008/09/17 PHP
PHP编程中的__clone()方法使用详解
2015/11/27 PHP
基于Swoole实现PHP与websocket聊天室
2016/08/03 PHP
PHP实现git部署的方法教程
2017/12/19 PHP
php语言注释,单行注释和多行注释
2018/01/21 PHP
JavaScript中的Window窗口对象
2008/01/16 Javascript
JS高级拖动技术 setCapture,releaseCapture
2011/07/31 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
2013/09/03 Javascript
jquery 插件实现瀑布流图片展示实例
2015/04/03 Javascript
js实现刷新iframe的方法汇总
2015/04/27 Javascript
Backbone.js 0.9.2 源码注释中文翻译版
2015/06/25 Javascript
jquery将标签元素的高设为屏幕的百分比
2017/04/19 jQuery
vue实现与安卓、IOS交互的方法
2018/11/02 Javascript
微信小程序实现滑动操作代码
2020/04/23 Javascript
在Python中编写数据库模块的教程
2015/04/29 Python
Python使用QQ邮箱发送Email的方法实例
2017/02/09 Python
Django实战之用户认证(初始配置)
2018/07/16 Python
详解Python中的type和object
2018/08/15 Python
在Python中分别打印列表中的每一个元素方法
2018/11/07 Python
flask应用部署到服务器的方法
2019/07/12 Python
Python 写入训练日志文件并控制台输出解析
2019/08/13 Python
Python之数据序列化(json、pickle、shelve)详解
2019/08/30 Python
Python 单例设计模式用法实例分析
2019/09/23 Python
Python浮点数四舍五入问题的分析与解决方法
2019/11/19 Python
美国求婚钻戒网站:Super Jeweler
2016/08/27 全球购物
波兰品牌内衣及泳装网上商店:Astratex.pl
2017/02/03 全球购物
德国网上宠物店:Zoobio
2018/05/23 全球购物
拥有超过850家商店的美国在线派对商店:Party City
2018/10/21 全球购物
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
Java的类与C++的类有什么不同
2014/01/18 面试题
美工的岗位职责
2013/11/14 职场文书
体育老师的教学自我评价分享
2013/11/19 职场文书
党员转正意见怎么写
2015/06/03 职场文书
Python中的pprint模块
2021/11/27 Python
vue elementUI批量上传文件
2022/04/26 Vue.js