Requests库发送post请求,传入接口参数后报JSON parse error

报错信息:

{"timestamp":"2020-01-08T14:42:40.894+0000","status":400,"error":"Bad Request","message":"JSON parse error: Cannot deserialize instance of `java.util.ArrayList` out of VALUE_STRING token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList` out of VALUE_STRING token\n at [Source: (PushbackInputStream); line: 1, column: 1]","path":"/home/brand/create"}

原因:发送post请求,传入参数,想当然的以为是{}形式,结果调用的接口是[{}]形式,对接口了解不够。

原文地址:https://www.cnblogs.com/lengjf/p/12168924.html

时间: 2024-10-12 13:15:40

Requests库发送post请求,传入接口参数后报JSON parse error的相关文章

大概看了一天python request源码。写下python requests库发送 get,post请求大概过程。

python requests库发送请求时,比如get请求,大概过程. 一.发起get请求过程:调用requests.get(url,**kwargs)-->request('get', url, **kwargs)-->session.request(method="get", url=url, **kwargs)-->session.send(request, **kwargs)-->adapter.send(request, **kwargs)-->

发送post请求的接口

一.简介 所有系统或者软件.网站都是从登录开始,所以首先介绍的第一个post请求是登录. 二.help函数 学习一个新的模块捷径,直接用help()函数查看相关注释和案例内容 for example: import requests help(requests) 三.发送post请求的接口(dict参数) 1.用python提供的发送post请求的接口案例,稍稍地做个简单修改,就可以发个简单的post 请求 2.像官方文档给出的案例将payload 参数是字典类型(dict),传到如下图的 fo

Python接口测试-使用requests模块发送post请求

本篇主要记录下使用python的requests模块发送post请求的实现代码. #coding=utf-8 import unittest import requests class PostTest(unittest.TestCase): def setUp(self): host = 'https://httpbin.org/' endpoint = 'post' self.url = ''.join([host, endpoint]) def testPost(self): params

(转) c/c++调用libcurl库发送http请求的两种基本用法

libcurl主要提供了两种发送http请求的方式,分别是Easy interface方式和multi interface方式,前者是采用阻塞的方式发送单条数据,后者采用组合的方式可以一次性发送多条数据 一.Easy interface libcurl的easy interface是最基本的用法,简要流程为: 1.在主线程中调用curl_global_init(CURL_GLOBAL_ALL)初始化 2.调用curl_easy_init获取一个句柄: 3.调用curl_easy_setopt函数

HttpClient4.X发送Get请求的url参数拼接

HttpClient4.X发送Get请求的参数拼接 使用httpClient发送get请求时,请求参数可以以?key=val&key1=val1的拼接到url后面. 但是请求参数较多时,这种方法比较麻烦,也不太优雅:研究了一下发现HttpClient4.X本身 是支持处理参数的. 1. 使用 URIBuilder来构建请求URI httpclient相关的jar包mvn依赖: <dependency> <groupId>org.apache.httpcomponents&l

Python接口测试,requests库的post请求进行文件上传

前言 如果需要发送文件到服务器,比如上传图片.视频等,就需要发送二进制数据. 一般上传文件使用的都是 Content-Type: multipart/form-data; 数据类型,可以发送文件,也可以发送相关的消息体数据. POST一个多部分编码(Multipart-Encoded)的文件 使用 requests 上传文件的基本步骤 构造文件数据,通过 open 函数以二进制方式打开文件 构造相关数据 发送请求,将文件数据以  files  参数传入,其他消息体数据通过  data .json

requests库的get请求

#coding:utf-8 # 导入requests import requests # 构建url url = 'http://www.baidu.com' # 发送请求,获取响应 # response = requests.get(url) response = requests.head(url) # 检查状态码 # print (response.status_code) # 检查url # print (response.url) # 检查请求头 # print (response.r

C/C++使用libcurl库发送http请求(get和post可以用于请求html信息,也可以请求xml和json等串)

C++要实现http网络连接,需要借助第三方库,libcurl使用起来还是很方便的 环境:win32 + vs2015 如果要在Linux下使用,基本同理 1,下载编译libcurl 下载curl源码,找到vs工程,按照x86 x64 并对应debug和release编译出静态库lib 2,构建工程 1)curl头文件和lib拷贝到工程目录 2)配置附加包含目录libcurl中的include和附加库目录libcurl中的lib目录 3)添加预编译宏USE_OPENSSL和CURL_STATIC

python - 怎样使用 requests 模块发送http请求

最近在学python自动化,怎样用python发起一个http请求呢? 通过了解 request 模块可以帮助我们发起http请求 步骤: 1.首先import 下 request 模块 2.然后看请求的方式,选择对应的请求方法 3.接受返回的报文信息 例子:get 方法 import requests url ="https://www.baidu.com" res = requests.get(url) res.encoding = "utf-8" res.te