浅谈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执行shell获取硬件参数写入mysql的方法
Dec 29 Python
Python实现的数据结构与算法之队列详解
Apr 22 Python
Python实现统计单词出现的个数
May 28 Python
python线程池(threadpool)模块使用笔记详解
Nov 17 Python
Python实现冒泡排序的简单应用示例
Dec 11 Python
Python单元测试实例详解
May 25 Python
python实现贪吃蛇小游戏
Mar 21 Python
python3实现钉钉消息推送的方法示例
Mar 14 Python
pycharm访问mysql数据库的方法步骤
Jun 18 Python
Python实现FTP文件传输的实例
Jul 07 Python
django queryset相加和筛选教程
May 18 Python
Django实现后台上传并显示图片功能
May 29 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
德劲1107的电路分析与打磨
2021/03/02 无线电
珊瑚虫IP库浅析
2007/02/15 PHP
PHP模拟asp中response类实现方法
2015/08/08 PHP
PHP使用ActiveMQ实例
2018/02/05 PHP
PHP设计模式之模板方法模式定义与用法详解
2018/04/02 PHP
ThinkPHP防止重复提交表单的方法实例分析
2018/05/10 PHP
Jquery 学习笔记(一)
2009/10/13 Javascript
基于prototype扩展的JavaScript常用函数库
2010/11/30 Javascript
JQuery中SetTimeOut传参问题探讨
2013/05/10 Javascript
Express作者TJ告别Node.js奔向Go
2014/07/14 Javascript
Vue.JS入门教程之处理表单
2016/12/01 Javascript
Websocket协议详解及简单实例代码
2016/12/12 Javascript
nodejs根据ip数组在百度地图中进行定位
2017/03/06 NodeJs
一个可复用的vue分页组件
2017/05/15 Javascript
js Date()日期函数浏览器兼容问题解决方法
2017/09/12 Javascript
ztree实现左边动态生成树右边为内容详情功能
2017/11/03 Javascript
创建echart多个联动的示例代码
2018/11/23 Javascript
Vue防止白屏添加首屏动画的实例
2019/10/31 Javascript
JS如何判断对象是否包含某个属性
2020/08/29 Javascript
python中的__init__ 、__new__、__call__小结
2014/04/25 Python
Python专用方法与迭代机制实例分析
2014/09/15 Python
在Python中编写数据库模块的教程
2015/04/29 Python
python开发利器之ulipad的使用实践
2017/03/16 Python
初学者学习Python好还是Java好
2020/05/26 Python
简单了解python关键字global nonlocal区别
2020/09/21 Python
html5服务器推送_动力节点Java学院整理
2017/07/12 HTML / CSS
html5通过canvas实现刮刮卡效果示例分享
2014/01/27 HTML / CSS
给客户的道歉信
2014/01/13 职场文书
幼儿园教师考核制度
2014/02/01 职场文书
自考毕业自我鉴定
2014/03/18 职场文书
就业协议书样本
2014/08/20 职场文书
安全生产先进个人事迹材料
2014/12/30 职场文书
保证书格式
2015/01/16 职场文书
2015年母亲节活动策划方案
2015/05/04 职场文书
趣味运动会广播稿
2015/08/19 职场文书
MySQL修改默认引擎和字符集详情
2021/09/25 MySQL