浅谈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中的匿名函数使用简介
Apr 27 Python
python执行get提交的方法
Apr 29 Python
Python中利用Scipy包的SIFT方法进行图片识别的实例教程
Jun 03 Python
python数据处理实战(必看篇)
Jun 11 Python
1 行 Python 代码快速实现 FTP 服务器
Jan 25 Python
使用Python制作简单的小程序IP查看器功能
Apr 16 Python
PYQT5实现控制台显示功能的方法
Jun 25 Python
PyQT5 emit 和 connect的用法详解
Dec 13 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
Apr 08 Python
PIP和conda 更换国内安装源的方法步骤
Sep 21 Python
Python趣味挑战之教你用pygame画进度条
May 31 Python
Python实现双向链表基本操作
May 25 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 远程图片保存到本地的函数类
2008/12/08 PHP
PHP生成唯一的促销/优惠/折扣码(附源码)
2012/12/28 PHP
如何在PHP中使用正则表达式进行查找替换
2013/06/13 PHP
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
2013/11/26 PHP
php计算两个文件相对路径的方法
2015/03/14 PHP
PHP实现获取某个月份周次信息的方法
2015/08/11 PHP
8个必备的PHP功能开发
2015/10/02 PHP
Laravel中任务调度console使用方法小结
2017/05/07 PHP
javascript 实现父窗口引用弹出窗口的值的脚本
2007/08/07 Javascript
jQuery 页面载入进度条实现代码
2009/02/08 Javascript
jQuery的三种$()
2009/12/30 Javascript
二叉树的非递归后序遍历算法实例详解
2014/02/07 Javascript
JSONP之我见
2015/03/24 Javascript
jquery+php实现滚动的数字特效
2015/11/29 Javascript
jQuery fadeOut 异步实例代码详解
2016/08/18 Javascript
Angularjs中的页面访问权限怎么设置
2016/11/11 Javascript
微信公众号开发 自定义菜单跳转页面并获取用户信息实例详解
2016/12/08 Javascript
jQuery Easyui datagrid连续发送两次请求问题
2016/12/13 Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
2016/12/23 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
2017/05/02 Javascript
vue2.0 与 bootstrap datetimepicker的结合使用实例
2017/05/22 Javascript
JavaScript中正则表达式判断匹配规则及常用方法
2017/08/03 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
17道题让你彻底理解JS中的类型转换
2019/08/08 Javascript
python 时间戳与格式化时间的转化实现代码
2016/03/23 Python
利用python生成照片墙的示例代码
2020/04/09 Python
Python flask路由间传递变量实例详解
2020/06/03 Python
html5定位获取当前位置并在百度地图上显示
2014/08/22 HTML / CSS
美国一家著名的手表在线折扣网站:Discount Watch Store
2020/02/24 全球购物
Jones Bootmaker官网:优质靴子和鞋子在线
2020/11/30 全球购物
写好自荐信要注意的问题
2013/11/10 职场文书
励志演讲稿大全
2014/08/21 职场文书
销售助理岗位职责
2015/02/11 职场文书
四群教育工作总结
2015/08/10 职场文书
Golang二维切片初始化的实现
2021/04/08 Golang