【问题标题】:How to convert Curl to Python request code?如何将 Curl 转换为 Python 请求代码?
【发布时间】:2022-08-06 02:50:59
【问题描述】:

我想做一个 curl 到 python 转换器。

curl -X POST -H \"data1:value1\" -H \"data2:value2\" -d \"{\"datapart1\":\"random1\",\"datapart2\":\"random2\"}\" \"https://example.com\"\'

我想转换:

import requests

url = \'https://example.com\'

data = \'{\"datapart1\":\"random1\",\"datapart2\":\"random2\"}\'

headers = {\'data1\': \'value1\', \'data2\': \'value2\'}

r = requests.post(url, data=data, headers=headers)
print(r.text)
  • 伟大的!听起来您希望shlex.split() 将curl 命令行拆分为shell 那样的部分,然后从那里继续。

标签: python python-3.x api curl converters


【解决方案1】:

我想你想要这个https://formatter.xyz/curl-to-python-converter

你试试看

【讨论】:

  • 该站点将您的 curl 命令提交到他们的服务器。他们可能正在保存您的 curl 命令。如果您复制了 curl 命令 from the browser 或有人向您发送了命令,则 curl 命令可能包含 cookie 和其他敏感信息。我不会用这个。
  • 此外,OP 正在询问如何自己实现这一点,而不是针对这样做的网站。
【解决方案2】:

curlconverter.com 是一个 curl -> Python requests 转换器。它还输出其他语言。

它是用 JavaScript(实际上是 TypeScript)实现的,所以如果你也用 JavaScript(而不是 Python)实现它,你可以在你的工具中使用它,或者你可以使用calling JavaScript code from Python 的一种方式。

或者,它有一个可以从 Python 调用的命令行界面。首先,使用npm install -g curlconverter 安装命令行工具,然后使用subprocess 从Python 调用它:

import subprocess

def curl_to_code(command, language='python'):
    return subprocess.run(['curlconverter', '--language', language, '-'], text=True, input=command, capture_output=True).stdout

print(curl_to_code("curl --data helloworld example.com"))

免责声明:我为 curlconverter 做出了贡献。

【讨论】:

    猜你喜欢
    • 2019-06-28
    • 2023-02-14
    • 1970-01-01
    • 2016-01-30
    • 2020-03-18
    • 2023-03-26
    相关资源
    最近更新 更多