淺談python3發(fā)送post請求參數為空的情況
更新時間:2018年12月28日 09:54:26 作者:小星jeff
今天小編就為大家分享一篇淺談python3發(fā)送post請求參數為空的情況,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
post請求的時候如果不帶參數,其實作用就跟get請求一樣。我們在做接口測試的時候,發(fā)現開發(fā)就全部使用的post,get的作用就被這樣的post空參數請求給替代了。
在Python代碼請求,如下:
class HttpHelper():
def __init__(self):
'''獲取driver對象,和接口ip地址信息,里面的方法大家可以忽略,根據自己的情況來設置
'''
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 接口名稱
post_para 請求參數,默認是空字典,如果不填這個參數就是post請求參數為空的情況
'''
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,這個方法是通過selenium的get_cookie方法來獲取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_***是我們項目的日志方法,輸出一些執(zhí)行日志,大家可以忽略。
以上這篇淺談python3發(fā)送post請求參數為空的情況就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python 采用paramiko 遠程執(zhí)行命令及報錯解決
這篇文章主要介紹了python 采用paramiko 遠程執(zhí)行命令及報錯解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-10-10

