python问题录入表单_python requests提交表单问题

你对http协议的内容类型和结构了解的不够

首先, 你的表单数据比较复杂, 所以信息头 Content-Type:application/json 最为合适, 前提是接收post请求的服务端, 对body的json解析是支持的

服务端通常的只支持或不支持body解析:

application/x-www-form-urlencoded 和

multipart/form-data

(nodejs express需要加body-parser和multer插件)

application/x-www-form-urlencoded 就是 k1=v1&k2=v2...这样的key=>str_val结构, 所以不适合你的多级字典form数据

关于表单的发送,body部分为json数据

import json

import requests

url = 'https://api.github.com/some/endpoint'

# 声明数据类型, 有些框架会自动识别并解析json

headers = {'Content-Type': 'application/json; charset=utf-8'}

# form = {'begin_ap': 'a', ...}

r = requests.post(url, data=json.dumps(form), headers=headers)

# 接收请求的服务端, 如果是flask框架(python)

# 则request.json 即可取到字典结构的form数据

# request.form 则取不到form数据(需要 application/x-www-form-urlencoded 或 multipart/form-data)

如果你的框架默认不支持对POST application/json 的解析, 则你需要自己对请求的body raw数据进行一次json解析, 即可得到想要的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值