浅谈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 相关文章推荐
PyCharm+PySpark远程调试的环境配置的方法
Nov 29 Python
利用Python求阴影部分的面积实例代码
Dec 05 Python
对python中GUI,Label和Button的实例详解
Jun 27 Python
python挖矿算力测试程序详解
Jul 03 Python
Atom Python 配置Python3 解释器的方法
Aug 28 Python
python性能测量工具cProfile使用解析
Sep 26 Python
基于Python数据结构之递归与回溯搜索
Feb 26 Python
Python-openCV开运算实例
Jul 05 Python
Python如何创建装饰器时保留函数元信息
Aug 07 Python
python关于倒排列的知识点总结
Oct 13 Python
python3实现无权最短路径的方法
May 12 Python
Python Matplotlib库实现画局部图
Nov 17 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
PHP实现基于mysqli的Model基类完整实例
2016/04/08 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
2016/10/18 PHP
THINKPHP截取中文字符串函数实例代码
2017/03/20 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
PHP给前端返回一个JSON对象的实例讲解
2018/05/31 PHP
PHP7变量处理机制修改
2021/03/09 PHP
PHP7 windows支持
2021/03/09 PHP
js异或加解密效果代码
2008/06/25 Javascript
基于JavaScript 类的使用详解
2013/05/07 Javascript
js动画效果制件让图片组成动画代码分享
2014/01/14 Javascript
node.js中Socket.IO的进阶使用技巧
2014/11/04 Javascript
javascript动态创建及删除元素的方法
2014/12/22 Javascript
Node.js实现Excel转JSON
2015/04/24 Javascript
JavaScript数组对象赋值用法实例
2015/08/04 Javascript
深入理解JavaScript中的call、apply、bind方法的区别
2016/05/30 Javascript
bootstrap modal弹出框的垂直居中
2016/12/14 Javascript
javascript面向对象程序设计实践常用知识点总结
2019/07/29 Javascript
vue实现登录页面的验证码以及验证过程解析(面向新手)
2019/08/02 Javascript
[08:42]DOTA2每周TOP10 精彩击杀集锦vol.2
2014/06/25 DOTA
python开发的小球完全弹性碰撞游戏代码
2013/10/15 Python
Python RuntimeError: thread.__init__() not called解决方法
2015/04/28 Python
Django后台管理系统的图文使用教学
2020/01/20 Python
Python unittest discover批量执行代码实例
2020/09/08 Python
Python confluent kafka客户端配置kerberos认证流程详解
2020/10/12 Python
Python环境使用OpenCV检测人脸实现教程
2020/10/19 Python
一文彻底解决HTML5页面中长按保存图片功能
2019/06/10 HTML / CSS
寻找完美的房车租赁:RVShare
2019/02/23 全球购物
黑猩猩商店:The Chimp Store
2020/02/12 全球购物
请写出一段Python代码实现删除一个list里面的重复元素
2015/12/29 面试题
大学生军训感想
2014/02/16 职场文书
公司领导班子对照材料
2014/08/18 职场文书
2014年转正工作总结
2014/11/08 职场文书
2014年银行员工工作总结
2014/11/12 职场文书
2015年社区计生工作总结
2015/04/21 职场文书
于丹讲座视频观后感
2015/06/15 职场文书
golang中切片copy复制和等号复制的区别介绍
2021/04/27 Golang