使用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 相关文章推荐
利用打码兔和超人打码自封装的打码类分享
Mar 16 Python
Python文件操作类操作实例详解
Jul 11 Python
python追加元素到列表的方法
Jul 28 Python
对Python 文件夹遍历和文件查找的实例讲解
Apr 26 Python
python+flask实现API的方法
Nov 21 Python
django 2.2和mysql使用的常见问题
Jul 18 Python
python实现BP神经网络回归预测模型
Aug 09 Python
python如何通过twisted搭建socket服务
Feb 03 Python
python爬虫要用到的库总结
Jul 28 Python
Python 整行读取文本方法并去掉readlines换行\n操作
Sep 03 Python
python Tornado框架的使用示例
Oct 19 Python
python 元组和列表的区别
Dec 30 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调用MySQL存储过程的方法集合(推荐)
2013/07/03 PHP
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
php上传文件问题汇总
2015/01/30 PHP
JS中==与===操作符的比较
2009/03/21 Javascript
javascript 操作文件 实现方法小结
2009/07/02 Javascript
JavaScript 学习笔记 Black.Caffeine 09.11.28
2009/11/30 Javascript
javascript检测页面是否缩放的小例子
2013/05/16 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
2014/04/11 Javascript
JavaScript如何禁止Backspace键
2015/12/02 Javascript
轻松实现js图片预览功能
2016/01/18 Javascript
Angularjs中$http以post请求通过消息体传递参数的实现方法
2016/08/05 Javascript
jQuery实现文章图片弹出放大效果
2017/04/06 jQuery
vue.js框架实现表单排序和分页效果
2017/08/09 Javascript
常用的9个JavaScript图表库详解
2017/12/19 Javascript
浅谈Vue.use的使用
2018/08/29 Javascript
vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
2018/09/14 Javascript
Vue CLI 3.x 自动部署项目至服务器的方法
2019/04/02 Javascript
浅谈Vue.js组件(二)
2019/04/09 Javascript
jquery中为什么能用$操作
2019/06/18 jQuery
vue 开发之路由配置方法详解
2019/12/02 Javascript
node创建Vue项目步骤详解
2020/03/06 Javascript
Python用5行代码写一个自定义简单二维码
2018/10/21 Python
Python实现SQL注入检测插件实例代码
2019/02/02 Python
Python学习笔记之图片人脸检测识别实例教程
2019/03/06 Python
python tkinter实现界面切换的示例代码
2019/06/14 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
使用Pandas对数据进行筛选和排序的实现
2019/07/29 Python
Python之——生成动态路由轨迹图的实例
2019/11/22 Python
使用pyinstaller逆向.pyc文件
2019/12/20 Python
Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)
2020/07/03 Python
CSS3解析抖音LOGO制作的方法步骤
2019/04/11 HTML / CSS
英国最大的户外商店:Go Outdoors
2019/04/17 全球购物
公司活动策划方案
2014/01/13 职场文书
汉语言文学毕业生自荐信范文
2014/03/24 职场文书
课外活动实习计划
2015/01/19 职场文书
用 Python 元类的特性实现 ORM 框架
2021/05/19 Python