python學習筆記----urllib2

通過接口方式查詢網絡設備上的一些參數,之前運維時都是直接在linux服務器上用curl實現,相對比較簡單。但是要python自動化腳本實現,curl命令就沒那麼好用了。

比如:

curl -k -u user:password https://192.168.254.4:8100/api/tmcm/2.0/bandwidth_pack_license_key| json_reformat 

這時候會返回所需要獲取的值。

如果用python,就要調用urllib2這個庫了。自己嘗試着封裝了一個url查詢函數,用於達到上述curl命令同等效果。

1、首先要導入相應的庫。

import json,urllib2

2、定義函數,輸入url返回對應數值,並做好異常處理。

def connTmcm(uri):

    try:

        url = "https://192.168.254.4:8100"

        username = "user"

        password = "password"

        passwordMgr = urllib2.HTTPPasswordMgrWithDefaultRealm()

        passwordMgr.add_password(None, url, username, password)

        handler = urllib2.HTTPBasicAuthHandler(passwordMgr)

        opener = urllib2.build_opener(handler)

        urllib2.install_opener(opener)

        if bool(uri) != False:

            url += uri

        response = urllib2.urlopen(url)

        lbList = response.read()

        jlist = json.loads(lbList)

        return jlist

    except:

        info = sys.exc_info()

        lbList = getAllAttrs(info[0]) + getAllAttrs(info[1])

        return lbList

3、調用函數

lbLicenseDict = connTmcm('/api/tmcm/2.0/bandwidth_pack_license_key')

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