python模擬登錄http basic authentication網站


  當訪問需要認證的網站時會提示輸入正確的用戶和密碼

wKiom1bTsbDhVASrAADQPgjK9IY946.jpg



如果密碼錯誤會返回401的狀態碼

401 Authorization Required


通過python腳本模擬登錄

#!/usr/bin/python
#-*-coding:utf-8-*-

import urllib2

#登錄的用戶名和密碼
username = "root"
password = "redhat"
url="http://192.168.209.200/"

def Func(url, username, password):
    try:
        # 創建一個密碼管理者  
        password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()  
        # 添加用戶名和密碼  
        password_mgr.add_password(None, url, username, password)  
        # 創建了一個新的handler  
        handler = urllib2.HTTPBasicAuthHandler(password_mgr)  
        # 創建 "opener" 
        opener = urllib2.build_opener(handler)  
        # 使用 opener 獲取一個URL  
        opener.open(url)  
        # 安裝 opener.  
        urllib2.install_opener(opener)  
        #urllib2.urlopen 使用上面的opener.  
        ret = urllib2.urlopen(url)
        return ret.read()
    except urllib2.HTTPError, e:
        if e.code == 401:
           return "authorization failed"
        else:
            raise e
    except:
        return None

print Func(url, username, password)


測試訪問時返回:

[root@localhost ~]# python http_base.py

test...............


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章