小编给大家分享一下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))
以上是“python3发送post请求参数为空怎么办”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。