浅谈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 相关文章推荐
写了个监控nginx进程的Python脚本
May 10 Python
python和C语言混合编程实例
Jun 04 Python
pycharm 使用心得(七)一些实用功能介绍
Jun 06 Python
在Python中使用列表生成式的教程
Apr 27 Python
python并发编程之线程实例解析
Dec 27 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
Jan 29 Python
对python中字典keys,values,items的使用详解
Feb 03 Python
python绘制多个子图的实例
Jul 07 Python
Django 静态文件配置过程详解
Jul 23 Python
Python: glob匹配文件的操作
Dec 11 Python
python实现进度条的多种实现
Apr 29 Python
Python合并pdf文件的工具
Jul 01 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
信用卡效验程序
2006/10/09 PHP
codeigniter发送邮件并打印调试信息的方法
2015/03/21 PHP
php使用array_search函数实现数组查找的方法
2015/06/12 PHP
ThinkPHP路由机制简介
2016/03/23 PHP
phpwind放自动注册方法
2006/12/02 Javascript
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
JQuery 弹出框定位实现方法
2010/12/02 Javascript
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
js判断客户端是iOS还是Android等移动终端的方法
2013/12/11 Javascript
jquery实现的图片点击滚动效果
2014/04/29 Javascript
jQuery焦点控制图层展示延迟隐藏的方法
2015/03/09 Javascript
jQuery简单倒计时效果完整示例
2016/09/20 Javascript
js时间控件只显示年月
2017/01/08 Javascript
javascript实现非常简单的小数取整功能示例
2017/06/13 Javascript
js实现简单数字变动效果
2017/11/06 Javascript
webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)
2018/01/09 Javascript
利用jquery和BootStrap实现动态滚动条效果
2018/12/03 jQuery
jQuery内容选择器与表单选择器实例分析
2019/06/28 jQuery
浅谈layui框架自带分页和表格重载的接口解析问题
2019/09/11 Javascript
Vue+Spring Boot简单用户登录(附Demo)
2020/11/12 Javascript
小程序实现上下切换位置
2020/11/16 Javascript
对python抓取需要登录网站数据的方法详解
2018/05/21 Python
Django使用HttpResponse返回图片并显示的方法
2018/05/22 Python
python实现画一颗树和一片森林
2018/06/25 Python
利用Python半自动化生成Nessus报告的方法
2019/03/19 Python
Python3的高阶函数map,reduce,filter的示例详解
2019/07/23 Python
浅析Python语言自带的数据结构有哪些
2019/08/27 Python
tensorflow实现在函数中用tf.Print输出中间值
2020/01/21 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
美国NBA官方商店:NBA Store
2019/04/12 全球购物
学生期末评语大全
2014/04/30 职场文书
设立有限责任公司出资协议书
2014/11/01 职场文书
结婚堵门保证书
2015/05/08 职场文书
演讲开场白和结束语
2015/05/29 职场文书
学校证明范文
2015/06/24 职场文书