python - 使用 python 请求发布带有数组的请求
问题描述
如何使用 python 请求创建这样的发布请求?
$url = 'https://joinposter.com/api/incomingOrders.createIncomingOrder'
. '?token=687409:4164553abf6a031302898da7800b59fb';
$incoming_order = [
'spot_id' => 1,
'phone' => '+380680000000',
'products' => [
[
'product_id' => 169,
'count' => 1
],
],
];
$data = sendRequest($url, 'post', $incoming_order);
我试过这样做:
payload = {'token': 687409:4164553abf6a031302898da7800b59fb,
'spot_id': 1, 'phone': '+380680000000', 'products': {'product_id': 169, 'count': 1}}
r = requests.post('https://joinposter.com/api/incomingOrders.createIncomingOrder', params=payload)
但它没有用。未正确创建参数“产品”。这是创建的 URL 的样子:
https://joinposter.com/api/incomingOrders.createIncomingOrder?token=704698%3A8544082b36a413a51b5c8c3ce0e2b162&spot_id=1&phone=%2B380680000000&products=product_id&products=count
那么如何创建一个包含数组数组的发布请求呢?
解决方案
尝试将您的令牌incoming_order
分成两个属性:
import requests
url = "https://joinposter.com/api/incomingOrders.createIncomingOrder"
params = {'token': "xxxxxxxxxxxxxxxxxxxxx"}
incoming_order = {'spot_id': 1, 'phone': '+380680000000', 'products': {'product_id': 169, 'count': 1}}
r = requests.post(url=url, params=params, json=incoming_order)
print(r.status_code)
将令牌替换为有效令牌。
推荐阅读
- angular - 如何在 Angular 4 中使用 input type=“file” 和 ngFor 在标签中添加带有删除选项的选定文件名?
- python - Python - flask - jinja2 - 通过循环值动态生成路由和函数
- php - laravel 中的多用户身份验证,带有一个用户表和链接角色表
- sql - 防止连接后由 SQL Server 生成 XML 中的自闭合标记
- jquery - jquery加载中断html
- python - 从枢轴绘制 Pandas DataFrame
- mysql - 使用未定义的常量 SIGKILL - Laravel 5.7 队列中假定为“SIGKILL”
- excel - 为列中的每个唯一值创建两行并减去
- c# - HTTP 错误 500.30 - ANCM 进程内启动失败
- javascript - 如何动态地将一行添加到 kendo ui 网格(到它的模式)?