python接⼝开发空值_浅谈python3发送post请求参数为空的情
况
post请求的时候如果不带参数,其实作⽤就跟get请求⼀样。我们在做接⼝测试的时候,发现开发就全部使⽤的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=''+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': ''+self.ip+''
}
Common().logger_info("[header] - "+str(header))
try:
quest.Request(url,postdata,header)
quest.urlopen(req) as resp:selenium获取cookie
ad().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_***是我们项⽬的⽇志⽅法,输出⼀些执⾏⽇志,⼤家可以忽略。
以上这篇浅谈python3发送post请求参数为空的情况就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持我们。
时间: 2018-12-25
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论