浅谈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实现批量读取word中表格信息的方法
Jul 30 Python
如何用Python合并lmdb文件
Jul 02 Python
python 平衡二叉树实现代码示例
Jul 07 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
Dec 18 Python
用Pytorch训练CNN(数据集MNIST,使用GPU的方法)
Aug 19 Python
python使用turtle库绘制奥运五环
Feb 24 Python
对python中return与yield的区别详解
Mar 12 Python
pyautogui自动化控制鼠标和键盘操作的步骤
Apr 01 Python
Python 抓取数据存储到Redis中的操作
Jul 16 Python
python 将列表里的字典元素合并为一个字典实例
Sep 01 Python
详解Python中的路径问题
Sep 02 Python
Python OpenCV实现图像模板匹配详解
Apr 07 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
用libTemplate实现静态网页的生成
2006/10/09 PHP
php 模拟 asp.net webFrom 按钮提交事件的思路及代码
2013/12/02 PHP
PHP四大安全策略
2014/03/12 PHP
PHP 在数组中搜索给定的简单实例 array_search 函数
2016/06/13 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
2019/04/17 PHP
零基础php编程好学吗
2019/10/11 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
JS中简单的实现像C#中using功能(有源码下载)
2007/01/09 Javascript
让getElementsByName适应IE和firefox的方法
2007/09/24 Javascript
json格式化/压缩工具 Chrome插件扩展版
2010/05/25 Javascript
js中的string.format函数代码
2020/08/11 Javascript
json的前台操作和后台操作实现代码
2012/01/20 Javascript
JavaScript实现x秒后自动跳转到一个页面
2013/01/03 Javascript
深入解析JavaScript的闭包机制
2015/10/20 Javascript
javascript实现tab切换特效
2015/11/12 Javascript
jquery制作属于自己的select自定义样式
2015/11/23 Javascript
非常棒的jQuery图片轮播效果
2016/04/17 Javascript
vue2.0设置proxyTable使用axios进行跨域请求的方法
2017/10/19 Javascript
微信小程序使用二次贝塞尔曲线画波浪
2018/12/25 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
2019/07/16 Javascript
vue cli3 配置proxy代理无效的解决
2019/10/30 Javascript
JS动态显示倒计时效果
2019/12/12 Javascript
[50:01]Ti4 冒泡赛第二天 NEWBEE vs Titan
2014/07/15 DOTA
python中的lambda表达式用法详解
2016/06/22 Python
浅谈tensorflow1.0 池化层(pooling)和全连接层(dense)
2018/04/27 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
基于python3.7利用Motor来异步读写Mongodb提高效率(推荐)
2020/04/29 Python
高考考python编程是真的吗
2020/07/20 Python
canvas实现漂亮的下雨效果的示例
2018/04/18 HTML / CSS
美国专业级皮肤病和spa品质护肤品的高级零售网站:SkinCareRx
2017/02/06 全球购物
100%法国制造的游戏和玩具:Les Jouets Français
2021/03/02 全球购物
企业面试题试卷附带答案
2015/12/20 面试题
介绍一下Ruby的特点
2013/01/20 面试题
便利店的创业计划书
2014/01/15 职场文书
汽车广告策划方案
2014/05/31 职场文书
借条如何写
2015/05/26 职场文书