Python+Post请求中涉及到多个参数data方法的应用
进行post请求,Python提供了httplib、urllib2,同时也可以引用requests模块的一些方法。前几天做持续集成,运用requests写了一个post请求。代码如下:
import reuqests
xmlhead = ('<?xml version=\'1.0\' encoding=\'UTF-8\'?>'+'<InterBOSS>'+'<Value>0100</Value>'+.......)
xmlbody= ('<?xml version=\'1.0\' encoding=\'UTF-8\'?>'+'<InterBOSS>'+.........)
headers={'content-type' : 'text/xml'}
requests.post('http://192.168.1.1:8080/xxxxx', data = {'xmlhead': 'xmlhead', 'xmlbody' : 'xmlbody'})
代码写好后运行,请求报了空指针异常。定位jAVA工程代码,看到JAVA工程里的xmlhead加载的内容为空。花费了好长时间,没有解决此问题。
试一下urllib2,看看是否报空指针异常。代码如下:
import urllib2
import urllib
xmlhead = ('<?xml version=\'1.0\' encoding=\'UTF-8\'?>'+'<InterBOSS>'+'<Value>0100</Value>'+.......)
xmlbody= ('<?xml version=\'1.0\' encoding=\'UTF-8\'?>'+'<InterBOSS>'+.........)
data = {'xmlhead' : 'xmlhead', 'xmlbody' : 'xmlbody'}
urllib2.urlopen( url='http://192.168.1.1:8080/xxxxx',
urllib.urlencode(data))
发送请求后报空指针异常。
最后定位发现data写的有问题。把data = {‘xmlhead’: 'xmlhead', 'xmlbody' : 'xmlbody'}改为data = {'xmlhead' : xmlhead, 'xmlbody' : xmlbody}问题解决。
data后边一般是等于字典,字典的key、value值习惯于加引号。个人认为本脚本中的value值:xmlhead、xmlbody是一个字符串赋予的值。post请求发送后,工程代码通过xmlhead、xmlbody加载对应的字符串。如果value值也加上引号,工程里的xmlhead、xmlbody识别不到参数,就要报空指针异常了。
Python+Post请求中涉及到多个参数data方法的应用的更多相关文章
- python 判断矩阵中每行非零个数的方法
python 判断矩阵中每行非零个数的方法: # -*- coding: utf-8 -*- # @Time : 2018/5/17 15:05 # @Author : Sizer # @Site : ...
- 在VS中向命令行添加参数的方法
在VS中向命令行添加参数的方法 在VS中向命令行添加参数,即向main()函数传递参数的方法: 右键单击要 添加参数的工程-->属性-->配置属性-->调试,在右侧“命令参数”栏输入 ...
- 将前端请求中的数据绑定到Spring MVC响应方法中参数的四种方法
一.映射URL绑定的占位符到方法参数 1.方法 使用@PathVariable注解 2.代码示例 a.接收请求方法 @RequestMapping(value = "/deleteInfo/ ...
- python post请求中Content-Typ为application/x-www-form-urlencoded; charset=UTF-8 解决方案
# -*- coding: utf-8 -*- import requests import json from urllib import parse import quotes def GtgLo ...
- spring,get请求中带date日期格式参数,后台无法转换的问题
今天遇到个很奇怪的问题.前端 的查询条件中带有日期范围日期的格式 是 yyyy-MM-dd HH:mm 结果后台报错 org.springframework.validation.BindExcept ...
- 一篇文章告诉你Python接口自动化测试中读取Text,Excel,Yaml文件的方法
前言 不管是做Ui自动化和接口自动,代码和数据要分离,会用到Text,Excel,Yaml.今天讲讲如何读取文件数据 Python也可以读取ini文件,传送门 记住一点:测试的数据是不能写死在代码里面 ...
- Python在函数中使用列表作为默认参数
在学习中遇到的Python的一个坑,那就是使用列表作为默认参数. 我们知道,在Python中,列表(list)是可变对象,所以列表的内容可能会在函数内改变.另一个需要注意的是,使用列表作为函数的默认参 ...
- 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数。最多应为 2100
出现这个问题的背景是,判断一批激活码在系统中是否已经存在,很傻的一个作法是,把这一批激活码,以in(in (‘ddd‘,‘aaa‘))的形式来处理,导致问题的出现. 后来,查找资料,http://bb ...
- 使用 Mybatis 框架 jdbc 方式批量写入 SQL Server,报错 com.microsoft.sqlserver.jdbc.SQLServerException 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数,最多应为2100
这个错是sqlserver抛出来的. 进过验证,上述错误中的2100为插入的总字段数. 比如下面这种插入方式,values后面的一个括号里的字段为30个,那么后面最多只能加70条,即这种批量插入方式一 ...
随机推荐
- PHAR伪协议&&[CISCN2019 华北赛区 Day1 Web1]Dropbox
PHAR:// PHP文件操作允许使用各种URL协议去访问文件路径:如data://,php://,等等 include('php://filter/read=convert.base64-encod ...
- Spring Eureka 本地Docker集群部署
故事背景 最近因为产线使用的服务与发现服务,使用的是Spring Cloud Eureka集群部署,为了以后调试产线的问题,想在本地搭建和产线一样的环境.产线的所有服务都是基于K8s和Docker部署 ...
- Magicodes.IE之花式导出
总体设计 Magicodes.IE是一个导入导出通用库,支持Dto导入导出以及动态导出,支持Excel.Word.Pdf.Csv和Html.在本篇教程,笔者将讲述如何使用Magicodes.IE进行花 ...
- python 魔法方法诠释
什么是Python魔法方法 什么是魔法方法呢?它们在面向对象的Python的处处皆是.它们是一些可以让你对类添加"魔法"的特殊方法. 它们经常是两个下划线包围来命名的(比如 ini ...
- spring aop 源码分析(二) 代理方法的执行过程分析
在上一篇aop源码分析时,我们已经分析了一个bean被代理的详细过程,参考:https://www.cnblogs.com/yangxiaohui227/p/13266014.html 本次主要是分析 ...
- 玩命学JVM(二)—类加载机制
前言 Java程序运行图: 上一篇玩命学JVM(一)-认识JVM和字节码文件我们简单认识了 JVM 和字节码文件.那JVM是如何使用字节码文件的呢?从上图清晰地可以看到,JVM 通过类加载器完成了这一 ...
- 【Hadoop】伪分布式安装
创建hadoop用户 创建用户命令: sudo useradd -m hadoop -s /bin/bash 创建好后需要更改hadoop用户的密码,命令如下: sudo passwd hadoop ...
- Win32控制台、Win32项目、MFC项目、CLR控制台、CLR空项目、空项目区别
转载:https://blog.csdn.net/zfmss/article/details/79244696 1.Win32控制台 初始代码模版以main为程序入口,默认情况下,只链接C++运行时库 ...
- 如何确定芯片pin1的位置
来源:https://www.raviyp.com/embedded/150-identifying-pin-no-1-on-an-ic Identifying pin no 1 on an IC R ...
- 上海hande
HZero UI 一个服务于企业级产品的设计体系,基于『确定』和『自然』的设计价值观和模块化的解决方案,让设计者专注于更好的用户体验. Choerodon UI of React Choerodon ...