浅谈python3发送post请求参数为空的情况


Posted in Python onDecember 28, 2018

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请求参数为空的情况就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python之wxPython应用实例
Sep 28 Python
Python兔子毒药问题实例分析
Mar 05 Python
python决策树之CART分类回归树详解
Dec 20 Python
python之pandas用法大全
Mar 13 Python
对python sklearn one-hot编码详解
Jul 10 Python
pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法
Jun 20 Python
python虚拟环境模块venv使用及示例
Mar 04 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
Mar 20 Python
python实现小程序推送页面收录脚本
Apr 20 Python
Python 实现进度条的六种方式
Jan 06 Python
python实现不同数据库间数据同步功能
Feb 25 Python
python 自动化偷懒的四个实用操作
Apr 11 Python
python3使用flask编写注册post接口的方法
Dec 28 #Python
python通过tcp发送xml报文的方法
Dec 28 #Python
对python 生成拼接xml报文的示例详解
Dec 28 #Python
Python 3.x基于Xml数据的Http请求方法
Dec 28 #Python
python模拟登陆,用session维持回话的实例
Dec 27 #Python
python requests post多层字典的方法
Dec 27 #Python
解决python3运行selenium下HTMLTestRunner报错的问题
Dec 27 #Python
You might like
phpMyAdmin 安装教程全攻略
2007/03/19 PHP
php中实现记住密码下次自动登录的例子
2014/11/06 PHP
php面向对象中static静态属性和静态方法的调用
2015/02/08 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
php自动加载代码实例详解
2021/02/26 PHP
Div Select挡住的解决办法
2008/08/07 Javascript
jQuery EasyUI API 中文文档 - Draggable 可拖拽
2011/09/29 Javascript
关于Jquery操作Cookie取值错误的解决方法
2013/08/26 Javascript
js判断ie版本号的简单实现代码
2014/03/05 Javascript
原生js事件的添加和删除的封装
2014/07/01 Javascript
jquery实现点击页面计算点击次数
2015/01/23 Javascript
angularJS 中$attrs方法使用指南
2015/02/09 Javascript
JavaScript中Function()函数的使用教程
2015/06/04 Javascript
JavaScript中的cacheStorage使用详解
2015/07/29 Javascript
jQuery超酷平面式时钟效果代码分享
2020/03/30 Javascript
js图片轮播特效代码分享
2015/09/07 Javascript
原生javascript实现的一个简单动画效果
2016/03/30 Javascript
boostrapTable的refresh和refreshOptions区别浅析
2017/01/22 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
2019/04/10 Javascript
详解如何使用nvm管理Node.js多版本
2019/05/06 Javascript
python实现朴素贝叶斯分类器
2018/03/28 Python
对Python中range()函数和list的比较
2018/04/19 Python
python如何生成各种随机分布图
2018/08/27 Python
python爬取微信公众号文章
2018/08/31 Python
python变量命名的7条建议
2019/07/04 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
python多线程高级锁condition简单用法示例
2019/11/07 Python
pycharm永久激活超详细教程
2020/10/29 Python
意大利在线大学图书馆:Libreria universitaria
2019/07/16 全球购物
俄罗斯珠宝市场的领导者之一:Бронницкий ювелир
2019/10/02 全球购物
护士求职推荐信范文
2013/11/23 职场文书
办公室人员先进事迹
2014/01/27 职场文书
支部组织生活会方案
2014/06/10 职场文书
金融系毕业生自荐书
2014/07/08 职场文书
跟班学习心得体会(共6篇)
2016/01/23 职场文书
php中配置文件保存修改操作 如config.php文件的读取修改等操作
2021/05/12 PHP