使用Python腳本實(shí)現(xiàn)批量網(wǎng)站存活檢測(cè)遇到問(wèn)題及解決方法
做滲透測(cè)試的時(shí)候,有個(gè)比較大的項(xiàng)目,里面有幾百個(gè)網(wǎng)站,這樣你必須首先確定哪些網(wǎng)站是正常,哪些網(wǎng)站是不正常的。所以自己就編了一個(gè)小腳本,為以后方便使用。
具體實(shí)現(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()+'打開(kāi)成功'
測(cè)試結(jié)果如下:
遇到的問(wèn)題:
剛開(kāi)始測(cè)試的時(shí)候,遇到只要是不能錯(cuò)誤,或者不存在的,直接報(bào)錯(cuò)停止程序。后來(lái)發(fā)現(xiàn)是因?yàn)閞esponse.status_code != 200這里取狀態(tài)碼的時(shí)候錯(cuò)誤。
因?yàn)橛械木W(wǎng)站不能打開(kāi)的話,不會(huì)返回狀態(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腳本實(shí)現(xiàn)批量網(wǎng)站存活檢測(cè)遇到問(wèn)題及解決方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
python?apscheduler?cron定時(shí)任務(wù)觸發(fā)接口自動(dòng)化巡檢過(guò)程
這篇文章主要介紹了python?apscheduler?cron定時(shí)任務(wù)觸發(fā)接口自動(dòng)化巡檢過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
python裝飾器類方法classmethod的使用場(chǎng)景
這篇文章主要為大家介紹了python裝飾器類方法classmethod的使用場(chǎng)景,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
Python真題案例之小學(xué)算術(shù)?階乘精確值?孿生素?cái)?shù)?6174問(wèn)題詳解
這篇文章主要介紹了python實(shí)操案例練習(xí),本文給大家分享的案例中主要任務(wù)有小學(xué)生算術(shù)、階乘的精確值、孿生素?cái)?shù)、6174問(wèn)題,需要的小伙伴可以參考一下2022-03-03
Python基于Twilio及騰訊云實(shí)現(xiàn)國(guó)際國(guó)內(nèi)短信接口
這篇文章主要介紹了Python基于Twilio及騰訊云實(shí)現(xiàn)國(guó)際國(guó)內(nèi)短信接口,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
python實(shí)現(xiàn)在圖片上畫(huà)特定大小角度矩形框
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)在圖片上畫(huà)特定大小角度矩形框,以及C++的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10
Python lxml庫(kù)的簡(jiǎn)單介紹及基本使用講解
lxml是XML和HTML的解析器,其主要功能是解析和提取XML和HTML中的數(shù)據(jù),本文重點(diǎn)給大家介紹Python lxml庫(kù)的簡(jiǎn)單介紹及基本使用講解,感興趣的朋友跟隨小編一起看看吧2020-12-12

