浅谈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 相关文章推荐
Windows下Eclipse+PyDev配置Python+PyQt4开发环境
May 17 Python
详解Python中类的定义与使用
Apr 11 Python
Python 多进程并发操作中进程池Pool的实例
Nov 01 Python
Python实现计算圆周率π的值到任意位的方法示例
May 08 Python
使用python将大量数据导出到Excel中的小技巧分享
Jun 14 Python
python3中os.path模块下常用的用法总结【推荐】
Sep 16 Python
对Python实现简单的API接口实例讲解
Dec 10 Python
Python构建图像分类识别器的方法
Jan 12 Python
Python lxml模块的基本使用方法分析
Dec 21 Python
python实现学生管理系统开发
Jul 24 Python
Python 解析简单的XML数据
Jul 24 Python
python ansible自动化运维工具执行流程
Jun 24 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
利用discuz自带通行证整合dedecms的方法以及文件下载
2007/03/06 PHP
最常用的8款PHP调试工具
2014/07/06 PHP
php提示Failed to write session data错误的解决方法
2014/12/17 PHP
php从完整文件路径中分离文件目录和文件名的方法
2015/03/13 PHP
php版微信发红包接口用法示例
2016/09/23 PHP
php+Ajax处理xml与json格式数据的方法示例
2019/03/04 PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
2019/10/18 PHP
JQuery 前台切换网站的样式实现
2009/06/22 Javascript
JS获取整个页面文档的实现代码
2011/12/15 Javascript
Javascript Web Slider 焦点图示例源码
2013/10/10 Javascript
jquery中交替点击事件的实现代码
2014/02/14 Javascript
js中的onchange和onpropertychange (onchange无效的解决方法)
2014/03/08 Javascript
Jquery实现textarea根据文本内容自适应高度
2015/04/03 Javascript
Bootstrap栅格系统学习笔记
2016/11/25 Javascript
JS实现搜索框文字可删除功能
2016/12/28 Javascript
vue模板语法-插值详解
2017/03/06 Javascript
详解Angular 4.x Injector
2017/05/04 Javascript
React-intl 实现多语言的示例代码
2017/11/03 Javascript
如何解决webpack-dev-server代理常切换问题
2019/01/09 Javascript
Vue 幸运大转盘实现思路详解
2019/05/06 Javascript
JS实现容器模块左右拖动效果
2020/01/14 Javascript
vuex存取值和映射函数使用说明
2020/07/24 Javascript
Python DataFrame 设置输出不显示index(索引)值的方法
2018/06/07 Python
python3 property装饰器实现原理与用法示例
2019/05/15 Python
Python识别快递条形码及Tesseract-OCR使用详解
2019/07/15 Python
python快速安装OpenCV的步骤记录
2021/02/22 Python
moosejaw旗下的户外商品促销网站:Mountain Steals
2017/02/27 全球购物
澳大利亚首屈一指的鞋类品牌:Tony Bianco
2018/03/13 全球购物
写出程序把一个链表中的接点顺序倒排
2014/04/28 面试题
财务主管自我鉴定
2014/01/17 职场文书
小学信息技术教学反思
2014/02/10 职场文书
广告学专业求职信
2014/06/19 职场文书
校车安全管理责任书
2015/05/11 职场文书
共青团优秀团员申请书(范文)
2019/08/15 职场文书
matplotlib之pyplot模块实现添加子图subplot的使用
2021/04/25 Python
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
2021/06/09 Vue.js