二十五、爬取毛豆新車的數據
945
2025-03-31
遇到在某些場景下只想簡單的獲取華為云IAM token,然后調用一個API接口。導入huaweicloud-sdk-python包非常的重,寫代碼多。如果不想導入過多的包。可以通過python自帶的urllibe2包或第三方包requests包,用幾行代碼就能獲取IAM token。
如果要寫一個應用需要調用多個華為云服務的API,建議導入huaweicloud-sdk-python包,參考SDK文檔編寫。Python SDK入門。
#?_*_coding:?utf-8_*_ import?json import?requests import?urllib2 #1?Get?keystone?version?by?urllib2(GET) version_url?=?"https://iam.myhuaweicloud.com/v3" req?=?urllib2.Request(version_url) response?=?urllib2.urlopen(req) print("Get?keystone?version?info:",?response.read()) #?IAM?body data={ ????"auth":?{ ????????"identity":?{ ????????????"methods":?[ ????????????????"password" ????????????], ????????????"password":?{ ????????????????"user":?{ ????????????????????"domain":?{ ????????????????????????"name":?"***" ????????????????????}, ????????????????????"name":?"***", ????????????????????"password":?"###" ????????????????} ????????????} ????????}, ????????"scope":?{ ????????????"domain":?{ ????????????????"name":?"***" ????????????} ????????} ????} } auth_url?=?"https://iam.myhuaweicloud.com/v3/auth/tokens?nocatalog=true" headers?=?"""?"Content-Type":?"application/json"?""" json_data?=?json.dumps(data) #2?Get?token?by?urllib2.Request(POST)??(pyhthon?native) auth_req?=?urllib2.Request(auth_url,?json_data) auth_req.add_header('Content-Type',?'application/json') auth_resp?=?urllib2.urlopen(auth_req) if?'x-subject-token'?in?auth_resp.headers: ????print("Get?token?by?urllib2.Request:",?auth_resp.headers['x-subject-token']) #3?Get?token?by?requests.post(POST)???(pip?install?requests) auth_resp?=?requests.post(auth_url,?json_data,?headers,?verify=False) if?'x-subject-token'?in?auth_resp.headers: ????print("Get?token?by?requests.post:",?auth_resp.headers['x-subject-token'])
華為云IAM
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。