【问题标题】:Python Equivalent of a CURL Command [duplicate]CURL命令的Python等效项[重复]
【发布时间】:2020-02-09 06:06:42
【问题描述】:

我正在寻找一种使用 Python 脚本执行此操作的方法:

curl -X POST -d '{"username": "user","password": "password","scopes": ["download"]}' https://api.fakedomain.com/v2.0/oauth/token

当我从 linux 命令行执行此操作时,它会输出一个客户端访问令牌。我正在尝试通过 Python 脚本来完成这项工作。我尝试了以下方法:

import requests

url = 'https://api.fakedomain.com/v2.0/oauth/token'
creds = {"username": "<user>",
     "password": "<password>",
     "scopes": ["download"]}
r = requests.post(url, data=creds)
print(r.text)

脚本以退出代码 0 完成,但我在任何地方都找不到访问令牌。任何想法将不胜感激。

【问题讨论】:

    标签: python


    【解决方案1】:

    您是否尝试过使用json 关键字代替data

    我的请求代码如下所示:

    import requests
    url = 'https://fake-website.com/token'
    data = {'key': 'val'}
    requests.post(url, json=data)
    

    【讨论】:

    • 你成功了!成功了,非常感谢!我得等几分钟才能把它颁给你。你太快了!
    【解决方案2】:

    对于将 CURL 命令转换为 Python 代码,您还可以使用 this web app

    它生成:

    import requests
    data = '{"username": "user","password": "password","scopes": ["download"]}'
    response = requests.post('https://api.fakedomain.com/v2.0/oauth/token', data=data)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-02
      • 2013-08-30
      • 1970-01-01
      • 2014-10-16
      • 2019-10-31
      • 1970-01-01
      • 2014-08-05
      • 1970-01-01
      相关资源
      最近更新 更多