浅谈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 相关文章推荐
pyramid配置session的方法教程
Nov 27 Python
python中 logging的使用详解
Oct 25 Python
Python爬豆瓣电影实例
Feb 23 Python
TensorFlow的权值更新方法
Jun 14 Python
对Python中Iterator和Iterable的区别详解
Oct 18 Python
Python实现连接MySql数据库及增删改查操作详解
Apr 16 Python
详解Python连接MySQL数据库的多种方式
Apr 16 Python
Python面向对象编程基础实例分析
Jan 17 Python
python 画条形图(柱状图)实例
Apr 24 Python
python 在sql语句中使用%s,%d,%f说明
Jun 06 Python
python中导入 train_test_split提示错误的解决
Jun 19 Python
python 利用PyAutoGUI快速构建自动化操作脚本
May 31 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
Linux下PHP加速器APC的安装与配置笔记
2014/10/24 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
自制基于jQuery的智能提示插件一枚
2011/02/18 Javascript
json原理分析及实例介绍
2012/11/29 Javascript
解析javascript 实用函数的使用详解
2013/05/10 Javascript
JavaScript中的typeof操作符用法实例
2014/04/05 Javascript
Js和JQuery获取鼠标指针坐标的实现代码分享
2015/05/25 Javascript
jquery实现表单验证简单实例演示
2015/11/23 Javascript
jQuery图片轮播(二)利用构造函数和原型创建对象以实现继承
2016/12/06 Javascript
Angular CLI 安装和使用教程
2017/09/13 Javascript
node.js 用socket实现聊天的示例代码
2017/10/17 Javascript
JavaScript+HTML5 canvas实现放大镜效果完整示例
2019/05/15 Javascript
d3.js实现图形缩放平移
2019/12/19 Javascript
Vue 的双向绑定原理与用法揭秘
2020/05/06 Javascript
js实现鼠标拖曳效果
2020/12/30 Javascript
Python生成验证码实例
2014/08/21 Python
Python编程中运用闭包时所需要注意的一些地方
2015/05/02 Python
python 自动化将markdown文件转成html文件的方法
2016/09/23 Python
python矩阵/字典实现最短路径算法
2019/01/17 Python
pandas 选取行和列数据的方法详解
2019/08/08 Python
python定义类self用法实例解析
2020/01/22 Python
Python实现结构体代码实例
2020/02/10 Python
Python+redis通过限流保护高并发系统
2020/04/15 Python
Python Tornado实现WEB服务器Socket服务器共存并实现交互的方法
2020/05/26 Python
利用CSS3实现进度条的两种姿势详解
2017/03/21 HTML / CSS
办公室前台岗位职责范本
2013/12/10 职场文书
通信研究生自荐信
2014/02/01 职场文书
大学毕业感言50字
2014/02/07 职场文书
省级优秀班集体申报材料
2014/05/25 职场文书
职业道德模范事迹材料
2014/08/24 职场文书
公安个人四风问题对照检查及整改措施
2014/10/28 职场文书
2015年导购员工作总结
2015/04/25 职场文书
闪闪的红星观后感
2015/06/08 职场文书
详解Redis复制原理
2021/06/04 Redis
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers