使用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实现脚本锁功能(同时只能执行一个脚本)
May 10 Python
Python实现将文本生成二维码的方法示例
Jul 18 Python
python3获取两个日期之间所有日期,以及比较大小的实例
Apr 08 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
Apr 20 Python
python基础学习之如何对元组各个元素进行命名详解
Jul 12 Python
Python实现的线性回归算法示例【附csv文件下载】
Dec 29 Python
用python的turtle模块实现给女票画个小心心
Nov 23 Python
40个你可能不知道的Python技巧附代码
Jan 29 Python
python GUI库图形界面开发之PyQt5多线程中信号与槽的详细使用方法与实例
Mar 08 Python
PyCharm中如何直接使用Anaconda已安装的库
May 28 Python
导致python中import错误的原因是什么
Jul 01 Python
python实现简单的井字棋
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
如何获得PHP相关资料
2006/10/09 PHP
谈谈PHP的输入输出流
2007/02/14 PHP
让PHP支持页面回退的两种方法[转]
2007/02/14 PHP
php中将汉字转换成拼音的函数代码
2012/09/08 PHP
PHP数组传递是值传递而非引用传递概念纠正
2013/01/31 PHP
yii实现图片上传及缩略图生成的方法
2014/12/04 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
2015/09/30 PHP
PHP中key和current,next的联合运用实例分析
2016/03/29 PHP
浅谈关于PHP解决图片无损压缩的问题
2017/09/01 PHP
jquery DOM操作 基于命令改变页面
2010/05/06 Javascript
Javascript高级技巧分享
2014/02/25 Javascript
JS定义类的六种方式详解
2016/05/12 Javascript
jQuery插件ajaxFileUpload异步上传文件
2016/10/19 Javascript
JavaScript html5利用FileReader实现上传功能
2020/03/27 Javascript
React props和state属性的具体使用方法
2018/04/12 Javascript
vue input输入框模糊查询的示例代码
2018/05/22 Javascript
JavaScript笛卡尔积超简单实现算法示例
2018/07/30 Javascript
详解vue路由篇(动态路由、路由嵌套)
2019/01/27 Javascript
Vue.js实现可编辑的表格
2019/12/11 Javascript
Vue实现省市区三级联动
2020/12/27 Vue.js
[03:55]显微镜下的DOTA2特别篇——430灰烬之灵神级操作
2014/06/24 DOTA
Python实现中文数字转换为阿拉伯数字的方法示例
2017/05/26 Python
详解python之多进程和进程池(Processing库)
2017/06/09 Python
python实现自动化上线脚本的示例
2019/07/01 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
2020/04/19 Python
Python如何实现FTP功能
2020/05/28 Python
详解HTML5之pushstate、popstate操作history,无刷新改变当前url
2017/03/15 HTML / CSS
孕妇内衣和胸罩:Cake Maternity
2018/07/16 全球购物
大学生求职简历的自我评价
2013/10/21 职场文书
《自然之道》教学反思
2014/02/11 职场文书
2014年旅游局法制宣传日活动总结
2014/11/01 职场文书
饭店服务员岗位职责
2015/02/09 职场文书
通知范文怎么写
2015/04/16 职场文书
借条格式范本
2015/05/25 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS
深入浅析python3 依赖倒置原则(示例代码)
2021/07/09 Python