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条,即这种批量插入方式一 ...
随机推荐
- 《Java并发编程的艺术》笔记
第1章 并发编程的挑战 1.1 上下文切换 CPU通过时间片分配算法来循环执行任务,任务从保存到再加载的过程就是一次上下文切换. 减少上下文切换的方法有4种:无锁并发编程.CAS算法.使用最少线程.使 ...
- JS节流与防抖
节流 节流,走字面上理解就是节约流量.比作水就话就是让水流的少一点,节约一点.对应到JS当中,就是在scroll事件和mousemove事件的时候,浏览器会很频繁的被触发,会导致对应的事件也会被很频繁 ...
- Spring 的依赖注入应用代替工厂模式
接口 package FactoryExample; public interface Human { void eat(); void walk(); void show(); } 实现 实现一 p ...
- Power Designer建模之餐饮在线点评系统——需求模型实例
总览 一级需求 二级需求 管理门户 会员门户 三级需求 系统管理 企业中心 会员中心 统计分析 四级需求
- 004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构
004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构 Java程序的结构 Java程序外层--类 程序外层,如下面的代码,是一个类的定义. c ...
- VS2015建立一个完整的c++工程:头文件.h 源文件.cpp,自动生成类
https://blog.csdn.net/weixin_40539125/article/details/81430801 打开VS2015 ,新建VS win32工程,前面步骤很简单,不再阐述 下 ...
- C\C++中strcat()函数
转载:https://blog.csdn.net/smf0504/article/details/52055971 C\C++中strcat()函数 ...
- .NET Standard 简介
系列目录 [已更新最新开发文章,点击查看详细] .NET Standard 是一套正式的 .NET API 规范,有望在所有 .NET 实现中推出. 推出 .NET Standard 的背后动 ...
- nginx完美支持thinkphp3.2.2(需配置URL_MODEL=>1 pathinfo模式)
来源:http://www.thinkphp.cn/topic/26657.html 第一步:配置SERVER块 server { listen 80; server_name www.domain. ...
- shell-变量输入内置read命令详解
1. shell变量的输入 shell变量除了可以直接赋值或脚本传参外,还可以使用read命令从标准输入得. [语法格式] read [参数] [变量名] [常用参数] -p:指定读取值时的提示符: ...