做滲透測試的時候,有個比較大的項目,里面有幾百個網站,這樣你必須首先確定哪些網站是正常,哪些網站是不正常的。所以自己就編了一個小腳本,為以后方便使用。
具體實現的代碼如下:
#!/usr/bin/python# -*- coding: UTF-8 -*-'''@Author:joy_nick@博客:http://byd.dropsec.xyz/'''import requestsimport sysf = 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])continueurl_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腳本實現批量網站存活檢測遇到問題及解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!
新聞熱點
疑難解答