【问题标题】:Convert from curl python Request Error error 401从curl python请求错误错误401转换
【发布时间】:2019-05-19 11:57:13
【问题描述】:

我无法将 curl 请求转换为 python 代码请求。

工作卷曲请求

curl -X POST "http://xxxxxx" -H "接受:应用程序/json" -H "Content-Type: application/x-www-form-urlencoded" -H "授权: 令牌 882a6ec053ff6dbac623eff400f67c0bb6ade399" -d "name=namename"

python 请求不工作

headers = {
    'Authorization ': 'Token ' + "token",
    'Content-Type': 'application/json',
}
data= {'name': "name"}
r = requests.post(
    host_scheme + "://" + host_netloc + "/xxxxx",
    data=json.dumps(data),
    headers=headers
)

错误的响应是使用上面的python代码时无法读取令牌{“detail”:“未提供身份验证凭据。”}。

有什么建议吗?

【问题讨论】:

  • 不,它只是一个示例
  • 也尝试过 application/x-www-form-urlencoded 但结果相同
  • 你的授权方式或python代码中的key在哪里?您的第一个 dict 键将解析为 Token token 的值,我怀疑它不是有效的授权令牌。你是不是想说:Authorization ': 'Token ' + tokentoken 是在上面的某个地方定义的,没有在代码 sn-p 中显示?

标签: python python-3.x curl


【解决方案1】:
requests.post("http://xxxxxx",
    data='name=namename',
    headers={
        "Authorization": "Token 882a6ec053ff6dbac623eff400f67c0bb6ade399",
        "Content-Type": "application/x-www-form-urlencoded",
        "accept": "application/json"
    },
    cookies={},
)

我使用了Uncurl。我不得不删除-X POST

【讨论】:

    猜你喜欢
    • 2017-12-25
    • 2018-02-05
    • 2018-06-12
    • 2017-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    • 2017-03-04
    相关资源
    最近更新 更多