浅谈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的Django框架中settings文件的部署建议
May 30 Python
Python 'takes exactly 1 argument (2 given)' Python error
Dec 13 Python
如何用itertools解决无序排列组合的问题
May 18 Python
详解python 拆包可迭代数据如tuple, list
Dec 29 Python
Python类装饰器实现方法详解
Dec 21 Python
Python统计分析模块statistics用法示例
Sep 06 Python
详解基于python的多张不同宽高图片拼接成大图
Sep 26 Python
解决python彩色螺旋线绘制引发的问题
Nov 23 Python
pytorch: Parameter 的数据结构实例
Dec 31 Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
Sep 03 Python
Django+Celery实现定时任务的示例
Jun 23 Python
Python日志模块logging用法
Jun 05 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配置文件中最常用四个ini函数
2007/03/19 PHP
php开发工具之vs2005图解
2008/01/12 PHP
PHP+RabbitMQ实现消息队列的完整代码
2019/03/20 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
javascript 操作select下拉列表框的一点小经验
2010/03/20 Javascript
JavaScript 盒模型 尺寸深入理解
2012/12/31 Javascript
JS 修改URL参数(实现代码)
2013/07/08 Javascript
浮动的div自适应居中显示的js代码
2013/12/23 Javascript
12行javascript代码绘制一个八卦图
2015/04/02 Javascript
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
jQuery在线选座位插件seat-charts特效代码分享
2015/08/27 Javascript
javascript实现右侧弹出“分享到”窗口效果
2016/02/01 Javascript
Jquery Easyui进度条组件Progress使用详解(8)
2020/03/26 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
jquery实现用户登陆界面(示例讲解)
2017/09/06 jQuery
Bootstrap Table实现定时刷新数据的方法
2018/08/13 Javascript
JS获取并处理php数组的方法实例分析
2018/09/04 Javascript
vue 的 solt 子组件过滤过程解析
2019/09/07 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
Python基于回溯法子集树模板解决数字组合问题实例
2017/09/02 Python
python3.6使用pickle序列化class的方法
2018/10/22 Python
Python实现简易过滤删除数字的方法小结
2019/01/09 Python
Python匿名函数及应用示例
2019/04/09 Python
简单分析python的类变量、实例变量
2019/08/23 Python
利用Python函数实现一个万历表完整示例
2021/01/23 Python
CSS Grid布局教程之什么是网格布局
2014/12/30 HTML / CSS
整理的15个非常有用的 HTML5 开发教程和速查手册
2011/10/18 HTML / CSS
使用HTML5的File实现base64和图片的互转
2013/08/01 HTML / CSS
DTD的含义以及作用
2014/01/26 面试题
个人生活学习自我评价范文
2013/11/26 职场文书
大学自荐信
2013/12/12 职场文书
五年级语文教学反思
2014/01/30 职场文书
委托证明书
2014/09/17 职场文书
浅析Python实现DFA算法
2021/06/26 Python
Springboot配置suffix指定mvc视图的后缀方法
2021/07/03 Java/Android
python unittest单元测试的步骤分析
2021/08/02 Python