abstrait:本文是小編自己編寫的一個使用python實現(xiàn)批量網(wǎng)站存活檢測。做滲透測試的時候,有個比較大的項目,里面有幾百個網(wǎng)站,這樣你必須首先確定哪些網(wǎng)站是正常,哪些網(wǎng)站是不正常的。所以自己就編了一個小腳本,為以后方便使用。具體實現(xiàn)的代碼如下:#!/usr/bin/python # -*- coding: UTF-8 -*- ''' @Autho
本文是小編自己編寫的一個使用python實現(xiàn)批量網(wǎng)站存活檢測。
做滲透測試的時候,有個比較大的項目,里面有幾百個網(wǎng)站,這樣你必須首先確定哪些網(wǎng)站是正常,哪些網(wǎng)站是不正常的。所以自己就編了一個小腳本,為以后方便使用。
具體實現(xiàn)的代碼如下:
#!/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 '網(wǎng)址%s' % url_result_success[i].strip()+'打開成功'
測試結果如下:
遇到的問題:
剛開始測試的時候,遇到只要是不能錯誤,或者不存在的,直接報錯停止程序。后來發(fā)現(xiàn)是因為response.status_code != 200這里取狀態(tài)碼的時候錯誤。
因為有的網(wǎng)站不能打開的話,不會返回狀態(tài)碼。所以程序就不知道!==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腳本實現(xiàn)批量網(wǎng)站存活檢測遇到問題及解決方法請關注PHP中文網(wǎng)(ipnx.cn)其他文章!