python request post 列表的方法详解

目录
  • request post 列表的方法
    • 原代码
    • 解决方案
  • request post 数据中有list和dict方法
    • 可是数据中有一段是这样的
    • requests.post数据是会提示未知错误

request post 列表的方法

今天拿着已经写好的服务接口, 尝试传送一些列表, 发现传送的结果跟实际传送的数据并不一致,然后又开始了漫漫查资料的旅程。

原代码

原代码用来处理字典还是比较很成功的。

post:
url = 'http://127.0.0.1:5000/test'
data = {"text": '今天很开心', "lang": zh}
ret = requests.post(url,data=data) 
 
get:
txt = request.form['text']
lang = request.form['lang']
print(txt, lang)
 
print:

今天很开心 zh

但我想要传送列表,比如

post:
url = 'http://127.0.0.1:5000/test'
data = {"text": '今天很开心', "data": [{'Text', 'a'}, {'Text', 'b'}]}
ret = requests.post(url,data=data)

类似于这种情况, 以上的方法就会失效, 会丢失部分数据, 具体原因是什么没有去深究, 感兴趣的小伙伴可以自己尝试一下。

解决方案

1. 再按照原先那种以字典的方式进行传输是不可以的了。

2. 我们需要变成字符串的方式进行传输。

3. 一下是post, get的核心代码

post:
    ret = requests.post(url, data=json.dumps([{'Text': 'hello'}, {'Text': 'world'}]))
get:
    print(request.data)
print:
    b'[{"Text": "hello"}, {"Text": "world"}]'

注意到, 这里获取到的数据是字节码,后续还需要转换成字符串进行进一步处理。

如下:

text = bytes.decode(byte_data, encoding='utf-8')

request post 数据中有list和dict方法

今天遇到python requests post数据,

可是数据中有一段是这样的

data = {"data1":"[{"code":"aaa"}]"}

requests.post数据是会提示未知错误

#将列表的内容提取出来,用json.dumps转换一下
list_code = json.dumps([{"code":"aaa"}])
#然后赋值
data = {"data1":list_code} 
resp = reuqests.post(url,headers=header,data=data)

使用这个方法就可以了

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python利用requests库模拟post请求时json的使用教程

    我们都见识过requests库在静态网页的爬取上展现的威力,我们日常见得最多的为get和post请求,他们最大的区别在于安全性上: 1.GET是通过URL方式请求,可以直接看到,明文传输. 2.POST是通过请求header请求,可以开发者工具或者抓包可以看到,同样也是明文的. 3.GET请求会保存在浏览器历史纪录中,还可能会保存在Web的日志中. 两者用法上也有显著差异(援引自知乎): 1.GET用于从服务器端获取数据,包括静态资源(HTML|JS|CSS|Image等等).动态数据展示(列表

  • python requests post多层字典的方法

    pyhton requests模块post方法传参为多层字典时,转换错误, 如,表单传参 { "a":1, "b":{ "A":2, "B":3 } } post请求后看到form data是: a:1 b:A b:B 查看官方文档: More complicated POST requests Typically, you want to send some form-encoded data - much like an

  • 详解python requests中的post请求的参数问题

    问题:最新在爬取某站点的时候,发现在post请求当中,参数构造正确却获取不到数据,索性将post的参数urlencode之后放到post请求的url后面变成get请求,结果成功获取到数据,对此展开疑问. 1.http请求中Form Data和Request Playload的区别: Ajax post请求中常用的两种参数形式:form data 和 request payload get请求的时候,我们的参数直接反映在url里面,为key1=value1&key2=value2形式,如果是pos

  • python通过post提交数据的方法

    本文实例讲述了python通过post提交数据的方法.分享给大家供大家参考.具体实现方法如下: # -*- coding: cp936 -*- import urllib2 import urllib def postHttp(name=None,tel=None,address=None, price=None,num=None,paytype=None, posttype=None,other=None): url="http://www.xxx.com/dog.php" #定义要

  • python request post 列表的方法详解

    目录 request post 列表的方法 原代码 解决方案 request post 数据中有list和dict方法 可是数据中有一段是这样的 requests.post数据是会提示未知错误 request post 列表的方法 今天拿着已经写好的服务接口, 尝试传送一些列表, 发现传送的结果跟实际传送的数据并不一致,然后又开始了漫漫查资料的旅程. 原代码 原代码用来处理字典还是比较很成功的. post: url = 'http://127.0.0.1:5000/test' data = {"

  • Python对象类型及其运算方法(详解)

    基本要点: 程序中储存的所有数据都是对象(可变对象:值可以修改 不可变对象:值不可修改) 每个对象都有一个身份.一个类型.一个值 例: >>> a1 = 'abc' >>> type(a1) str 创建一个字符串对象,其身份是指向它在内存中所处的指针(在内存中的位置) a1就是引用这个具体位置的名称 使用type()函数查看其类型 其值就是'abc' 自定义类型使用class 对象的类型用于描述对象的内部表示及其支持的方法和操作 创建特定类型的对象,也将该对象称为该类

  • Python 常用模块 re 使用方法详解

    一.re模块的查找方法: 1.findall   匹配所有每一项都是列表中的一个元素 import re ret = re.findall('\d+','asd鲁班七号21313') # 正则表达式,待匹配的字符串,flag # ret = re.findall('\d','asd鲁班七号21313') # 正则表达式,待匹配的字符串,flag # print(ret) 2.search 只匹配从左到右的第一个,等到的不是直接的结果,而是一个变量,通过这个变量的group方法来获取结果 impo

  • python对于requests的封装方法详解

    由于requests是http类接口的核心,因此封装前考虑问题比较多: 1. 对多种接口类型的支持: 2. 连接异常时能够重连: 3. 并发处理的选择: 4. 使用方便,容易维护: 当前并未全部实现,后期会不断完善.重点提一下并发处理的选择:python的并发处理机制由于存在GIL的原因,实现起来并不是很理想,综合考虑多进程.多线程.协程,在不考虑大并发性能测试的前提下使用了多线程-线程池的形式实现.使用的是 concurrent.futures模块.当前仅方便支持webservice接口. #

  • python文件处理fileinput使用方法详解

    这篇文章主要介绍了python文件处理fileinput使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.介绍 fileinput模块可以对一个或多个文件中的内容进行迭代.遍历等操作,我们常用的open函数是对一个文件进行读写操作. fileinput模块的input()函数比open函数更高效和好用,体现在: input()函数生成一个迭代器,保证了在遇到大文件的读取时不会占用太大的内存. 用fileinput对文件进行循环遍历

  • Python数据结构之列表与元组详解

    目录 Python 列表(list): 1.序列介绍: 2.列表的概述: 3.创建一个列表 4.列表的索引 5.列表的分片 6.列表的分片赋值 7.循环遍历列表 8.查找元素与计数 9.列表增加元素: 10.列表删除元素: 11.列表排序 Python 元组(tuple): 1.为什么要将元组设计成为不可变序列 2.创建元组 3.元组的遍历 4.元组的内置函数 Python 列表(list): 1.序列介绍:   序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置

  • Python开发装包八种方法详解

    目录 1. 使用 easy_install 2. 使用 pip install 3. 使用 pipx 4. 使用 setup.py 5. 使用 yum 6. 使用 pipenv 7. 使用 poetry 8. 使用 curl + 管道 1. 使用 easy_install easy_install 这应该是最古老的包安装方式了,目前基本没有人使用了.下面是 easy_install 的一些安装示例 # 通过包名,从PyPI寻找最新版本,自动下载.编译.安装 $ easy_install pkg_

  • Python特效之数字成像方法详解

    目录 一.特效预览 二.程序原理 三.程序源码 一.特效预览 处理前 处理后 细节放大后 二.程序原理 1.将图片转为灰白图片后,将图片分成了三块,明.暗.阴影区域 2.明区域使用空白进行填充 3.阴影区域使用横线进行填充 4.暗区域使用数字进行填充,通过对暗区域的像素进行分类,不同像素使用不同数字进行填充即可 三.程序源码 #!/usr/bin/env python # encoding: utf-8 import cv2 import random import numpy as np cl

  • 一个Python优雅的数据分块方法详解

    目录 1.背景 2.islice 2.1示例 2.2只指定步长 3.iter 3.1常规使用 3.2进阶使用 4.islice 和 iter 组合使用 5.总结 1.背景 看到这个标题你可能想一个分块能有什么难度?还值得细说吗,最近确实遇到一个有意思的分块函数,写法比较巧妙优雅,所以写一个分享. 日前在做需求过程中有一个对大量数据分块处理的场景,具体来说就是几十万量级的数据,分批处理,每次处理100个.这时就需要一个分块功能的代码,刚好项目的工具库中就有一个分块的函数.拿过函数来用,发现还挺好用

  • Python处理文本数据的方法详解

    目录 前言 用python处理文本数据 用python处理数值型数据 前言 HI,好久不见,今天是关闭朋友圈的第60天,我是野蛮成长的AC-Asteroid. 人生苦短,我用Python,通过短短两周时间自学,从基础知识到项目实践,在这个过程中深刻体会到这款语言的魅力,今天带来一个有趣的项目,用Python处理文本数据,一起来看看今天的问题吧. 用python处理文本数据 实验目的 熟悉python的基本数据结构,以及文件的输入与输出. 实验数据 利用xxxx年xx机器学习会议的评测数据和评测任

随机推荐