网站内容及实现方式(小脚本,为以后方便使用。。)
优采云 发布时间: 2021-12-22 18:08网站内容及实现方式(小脚本,为以后方便使用。。)
在做渗透测试的时候,有一个比较大的项目,有几百个网站,所以首先要判断哪个网站是正常的,哪个网站是异常的。所以为了以后方便,我编写了一个小脚本。
具体实现代码如下:
#!/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脚本实现批量网站生存检测的问题及解决方法,希望对大家有所帮助,有问题请给我留言,小编会及时回复大家。非常感谢大家对脸圈教程网站的支持!