首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >包含数据的Python 2- post请求

包含数据的Python 2- post请求
EN

Stack Overflow用户
提问于 2018-06-18 19:49:07
回答 1查看 40关注 0票数 0

我正在开发一个可以与Curl一起工作的API,命令看起来像这样:

代码语言:javascript
运行
复制
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'api_key: someKey' -d '{
  "configurationPath": "/a/b",
  "entityTypesFilter": [
    "Filter1"
  ],  
  "pageSize": 10 
}' 'http://localhost:123/ab/rest/v1/entities'

如何将其转换为带有请求库的Python 2代码?

我试过这样的方法:

代码语言:javascript
运行
复制
import requests
headers = {'api_key': 'someKey'}
url = "http://localhost:123/ab/rest/v1/entities"

data = {
  "configurationPath": "/a/b",
  "entityTypesFilter": [
    "Filter1"
  ],  
  "pageSize": 10 
}

r = requests.post(url, headers=headers, data = data)
print r.content

但这给出了415错误:

代码语言:javascript
运行
复制
> Status Report</p><p><b>Message</b> Unsupported Media Type</p><p><b>Description</b> The origin server is refusing to se
rvice the request because the payload is in a format not supported by this method on the target resource.</p><hr class="
line" /><h3>Apache Tomcat/9.0.8</h3></body></html>

如何修复它?我相信它是一个data部件的格式,但不确定预期是什么,以及如何修改才能使其工作。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-06-18 19:56:25

curl命令将数据作为JSON与application/json content-type一起发送;Python代码不会这样做。

如果您使用json参数而不是data参数,则请求将执行此操作

代码语言:javascript
运行
复制
r = requests.post(url, headers=headers, json=data)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50908869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档