post請(qǐng)求的時(shí)候如果不帶參數(shù),其實(shí)作用就跟get請(qǐng)求一樣。我們?cè)谧鼋涌跍y(cè)試的時(shí)候,發(fā)現(xiàn)開(kāi)發(fā)就全部使用的post,get的作用就被這樣的post空參數(shù)請(qǐng)求給替代了。
在Python代碼請(qǐng)求,如下:
class HttpHelper(): def __init__(self): '''獲取driver對(duì)象,和接口ip地址信息,里面的方法大家可以忽略,根據(jù)自己的情況來(lái)設(shè)置 ''' self.dr=Common.driver run_info=Common().get_current_run_config() app_info=Common().get_app_config()[run_info['_envir']] self.ip=app_info['url'].split('/')[2] def post(self,module,interface_name,post_para={}): '''arg: module 模塊名 interface_name 接口名稱(chēng) post_para 請(qǐng)求參數(shù),默認(rèn)是空字典,如果不填這個(gè)參數(shù)就是post請(qǐng)求參數(shù)為空的情況 ''' inter_info=Common().get_interface_info()[module] url='http://'+self.ip+inter_info[interface_name]['url'] Common().logger_info("request - api - "+url) postdata = bytes(urllib.parse.urlencode(post_para), encoding='utf8') Common().logger_info("request - arg - "+str(post_para)) _jid=Common().get_jsessionid(self.dr) #獲取sessionid,這個(gè)方法是通過(guò)selenium的get_cookie方法來(lái)獲取sessionid,大家可以參考我其他的文章 header={ 'Accept':'application/json, text/plain, */*', 'Connection': 'keep-alive', 'Content-Type':'application/x-www-form-urlencoded', 'Cookie':'JSESSIONID='+_jid+'', 'Host': ''+self.ip+'', 'Origin': 'http://'+self.ip+'' } Common().logger_info("[header] - "+str(header)) try: req=urllib.request.Request(url,postdata,header) with urllib.request.urlopen(req) as resp: response=resp.read().decode('utf-8') response=json.loads(response) Common().logger_info('response - '+str(response)) if response['data']!='': Common().logger_info('http post success!!!') return response except Exception as e: Common().logger_error(str(e))代碼里的Common().logger_***是我們項(xiàng)目的日志方法,輸出一些執(zhí)行日志,大家可以忽略。
以上這篇淺談python3發(fā)送post請(qǐng)求參數(shù)為空的情況就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林站長(zhǎng)站。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注