浅谈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实现获取某天是某个月中的第几周
Feb 11 Python
python实现可以断点续传和并发的ftp程序
Sep 13 Python
Python实现完整的事务操作示例
Jun 20 Python
Scrapy爬虫实例讲解_校花网
Oct 23 Python
Python多线程扫描端口代码示例
Feb 09 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
May 08 Python
python2.7 安装pip的方法步骤(管用)
May 05 Python
python datetime中strptime用法详解
Aug 29 Python
numpy中三维数组中加入元素后的位置详解
Nov 28 Python
Python如何把多个PDF文件合并代码实例
Feb 13 Python
python pymysql库的常用操作
Oct 16 Python
python 爬取哔哩哔哩up主信息和投稿视频
Jun 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
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
PHP函数篇之掌握ord()与chr()函数应用
2011/12/05 PHP
PHP exif扩展方法开启详解
2014/07/28 PHP
Laravel框架数据库CURD操作、连贯操作总结
2014/09/03 PHP
thinkphp常见路径用法分析
2014/12/02 PHP
PHP的中使用非缓冲模式查询数据库的方法
2017/02/05 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
extjs grid设置某列背景颜色和字体颜色的实现方法
2010/09/06 Javascript
js 针对html DOM元素操作等经验累积
2014/03/11 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
JS实现带提示的星级评分效果完整实例
2015/10/30 Javascript
跟我学习javascript的函数和函数表达式
2015/11/16 Javascript
jQuery CSS3相结合实现时钟插件
2016/01/08 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
javascript执行环境及作用域详解
2016/05/05 Javascript
js流动式效果显示当前系统时间
2016/05/16 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
2017/04/24 Javascript
JS实现移动端按首字母检索城市列表附源码下载
2017/07/05 Javascript
vue.js使用代理和使用Nginx来解决跨域的问题
2018/02/03 Javascript
Javascript三种字符串连接方式及性能比较
2019/05/28 Javascript
JavaScript canvas绘制折线图
2020/02/18 Javascript
js验证账户名是否重复
2020/05/26 Javascript
[12:36]《DOTA2》国服注册与激活指南全攻略
2013/04/28 DOTA
盘点提高 Python 代码效率的方法
2014/07/03 Python
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
python函数式编程学习之yield表达式形式详解
2018/03/25 Python
python3+PyQt5+Qt Designer实现扩展对话框
2018/04/20 Python
Python 运行.py文件和交互式运行代码的区别详解
2019/07/02 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
酒店人事专员岗位职责
2013/12/19 职场文书
市场部经理岗位职责
2014/04/10 职场文书
小学一年级学生评语
2014/04/22 职场文书
关于感恩的演讲稿800字
2014/08/26 职场文书
承诺函格式模板
2015/01/21 职场文书
网吧温馨提示
2015/07/17 职场文书
python神经网络学习 使用Keras进行回归运算
2022/05/04 Python