小編給大家分享一下python程序怎么實(shí)現(xiàn)接口封裝、請(qǐng)求、調(diào)用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)公司長(zhǎng)期為上千客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏(yíng)平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為湯陰企業(yè)提供專(zhuān)業(yè)的成都網(wǎng)站建設(shè)、成都網(wǎng)站制作,湯陰網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
簡(jiǎn)介:
關(guān)于接口請(qǐng)求和封裝,最常用的是GET和POST兩種方法。
接口文檔需要包含信息:接口名稱(chēng)、接口功能、接口地址、支持格式、請(qǐng)求方式、請(qǐng)求示例、請(qǐng)求參數(shù)、返回參數(shù)說(shuō)明。
以典型的(一兩個(gè))參數(shù)做為判斷是否請(qǐng)求通過(guò)。
GET請(qǐng)求
import requests import json url = "http://v.juhe.cn/laohuangli/d" para = {"key":"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","date":"2017-3-22"} header ={} r = requests.get(url,params=para,headers= header,) #verify=True適用于服務(wù)端的ssl證書(shū)驗(yàn)證,verify=False為關(guān)閉ssl驗(yàn)證 print('get請(qǐng)求獲取的響應(yīng)結(jié)果json類(lèi)型',r.text) print("get請(qǐng)求獲取響應(yīng)狀態(tài)碼",r.status_code) print("get請(qǐng)求獲取響應(yīng)頭",r.headers['Content-Type']) #響應(yīng)的json數(shù)據(jù)轉(zhuǎn)換為可被python識(shí)別的數(shù)據(jù)類(lèi)型 json_r = r.json() print(json_r)
POST請(qǐng)求
post請(qǐng)求有兩種常用的請(qǐng)求格式:
1、key-value的格式'Content-Type':'application/x-www-form-urlencoded'
2、標(biāo)準(zhǔn)json的格式:'Content-Type':'application/json'
#key-value import requests import json url = "http://v.juhe.cn/laohuangli/d" para = {"key":"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","date":"2017-3-22"} header ={} r = requests.post(url,data=para,headers= header) print('get請(qǐng)求獲取的響應(yīng)結(jié)果json類(lèi)型',r.text) print("get請(qǐng)求獲取響應(yīng)狀態(tài)碼",r.status_code) print("get請(qǐng)求獲取響應(yīng)頭",r.headers['Content-Type']) #響應(yīng)的json數(shù)據(jù)轉(zhuǎn)換為可被python識(shí)別的數(shù)據(jù)類(lèi)型 json_r = r.json() print(json_r) #json import requests import json url = "http://v.juhe.cn/laohuangli/d" para = {"key":"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","date":"2017-3-22"} header ={} #python數(shù)據(jù)類(lèi)型轉(zhuǎn)換為json類(lèi)型(json.dumps()) para = json.dumps(para) r = requests.post(url,data=para,headers= header) print('get請(qǐng)求獲取的響應(yīng)結(jié)果json類(lèi)型',r.text) print("get請(qǐng)求獲取響應(yīng)狀態(tài)碼",r.status_code) print("get請(qǐng)求獲取響應(yīng)頭",r.headers['Content-Type']) #響應(yīng)的json數(shù)據(jù)轉(zhuǎn)換為可被python識(shí)別的數(shù)據(jù)類(lèi)型 json_r = r.json() print(json_r)
把所有的請(qǐng)求封裝在函數(shù)中
def get(url,para,headers): try: r = requests.get(url,params=para,headers=headers) print("獲取返回的狀態(tài)碼",r.status_code) json_r = r.json() print("json類(lèi)型轉(zhuǎn)化成python數(shù)據(jù)類(lèi)型",json_r) except BaseException as e: print("請(qǐng)求失??!",str(e)) def post(url,para,headers): try: r = requests.post(url,data=para,headers=headers) print("獲取返回的狀態(tài)碼",r.status_code) json_r = r.json() print("json類(lèi)型轉(zhuǎn)化成python數(shù)據(jù)類(lèi)型",json_r) except BaseException as e: print("請(qǐng)求失?。?,str(e)) def post_json(url,para,headers): try: data = para data = json.dumps(data) #python數(shù)據(jù)類(lèi)型轉(zhuǎn)化為json數(shù)據(jù)類(lèi)型 r = requests.post(url,data=data,headers=headers) print("獲取返回的狀態(tài)碼",r.status_code) json_r = r.json() print("json轉(zhuǎn)換為python數(shù)據(jù)類(lèi)型:",json_r) except BaseException as e: print("請(qǐng)求失??!",str(e)) url = "http://v.juhe.cn/laohuangli/d" para = {"key":"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","date":"2017-3-22"} headers ={} get(url,para,headers) post(url,para,headers) post_json(url,para,headers)
以上是python程序怎么實(shí)現(xiàn)接口封裝、請(qǐng)求、調(diào)用的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!