python的post请求中加参数_浅谈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='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_***是我们项目的日志方法,输出一些执行日志,大家可以忽略。

以上这篇浅谈python3发送post请求参数为空的情况就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

本文标题: 浅谈python3发送post请求参数为空的情况

本文地址: http://www.cppcns.com/jiaoben/python/248620.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值