浅谈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 相关文章推荐
PyMongo安装使用笔记
Apr 27 Python
深入讲解Java编程中类的生命周期
Feb 05 Python
如何在Python中编写并发程序
Feb 27 Python
Python爬虫之模拟知乎登录的方法教程
May 25 Python
Python字符串处理实现单词反转
Jun 14 Python
python实现顺时针打印矩阵
Mar 02 Python
Django框架文件上传与自定义图片上传路径、上传文件名操作分析
May 10 Python
python如何判断IP地址合法性
Apr 05 Python
python实现一个猜拳游戏
Apr 05 Python
如何利用python web框架做文件流下载的实现示例
Jun 02 Python
解决python3.6用cx_Oracle库连接Oracle的问题
Dec 07 Python
opencv深入浅出了解机器学习和深度学习
Mar 17 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
生成sessionid和随机密码的例子
2006/10/09 PHP
php上传、管理照片示例
2006/10/09 PHP
采用thinkphp自带方法生成静态html文件详解
2014/06/13 PHP
PHP中调用SVN命令更新网站方法
2015/01/07 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
PHP的mysqli_rollback()函数讲解
2019/01/23 PHP
JavaScript中链式调用之研习
2011/04/07 Javascript
用js小类库获取浏览器的高度和宽度信息
2012/01/15 Javascript
jQuery获取当前对象标签名称的方法
2014/02/07 Javascript
jquery删除ID为sNews的tr元素的内容
2014/04/10 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
2014/05/05 Javascript
常用DOM整理
2015/06/16 Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
2016/04/07 Javascript
jQuery实现手势解锁密码特效
2017/08/14 jQuery
解决IE7中使用jQuery动态操作name问题
2017/08/28 jQuery
laydate如何根据开始时间或者结束时间限制范围
2018/11/15 Javascript
jquery拖拽自动排序插件使用方法详解
2020/07/20 jQuery
Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结
2019/02/11 Javascript
使用webpack/gulp构建TypeScript项目的方法示例
2019/12/18 Javascript
[01:02:20]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python中logging库的使用总结
2017/10/18 Python
django请求返回不同的类型图片json,xml,html的实例
2018/05/22 Python
python opencv摄像头的简单应用
2019/06/06 Python
python2和python3哪个使用率高
2020/06/23 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
python如何编写类似nmap的扫描工具
2020/11/06 Python
Python WebSocket长连接心跳与短连接的示例
2020/11/24 Python
用css3实现当鼠标移进去时当前亮其他变灰效果
2014/04/08 HTML / CSS
最耐用行李箱,一箱永流传:Briggs & Riley(全球终身保修)
2017/12/07 全球购物
PHP笔试题
2012/02/22 面试题
会计自我鉴定范文
2013/10/06 职场文书
垃圾分类的活动方案
2014/08/15 职场文书
先进教育工作者事迹材料
2014/12/23 职场文书
2016年春季运动会加油稿
2015/07/22 职场文书
《开国大典》教学反思
2016/02/16 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书