Curl URL 的等效 Python 代码是什么?是否有任何教程显示如何将 curl 转换为 python?

What is the equivalent Python code for the Curl URL. Is there any tutorial that shows how to convert curl to python?

curl -X PUT -H 'Content-Type: video/mp4' \
         -H "Content-Length: 8036821" \
         -T "/Users/kenh/Downloads/amazing_race.mp4" \
         "https://hootsuite-video.s3.amazonaws.com/production/3563111_6923ef29-d2bd- 4b2a-a6d2-11295411c988.mp4?AWSAccessKeyId=AKIAIHSDDN2I7V2FDJGA&Expires=1465846288&Signature=3xLFijSn02YIx6AOOjmri5Djkko%3D"

主要是我不明白如何用user -T行。 Headers 和 URL 我知道。

-T记录如下:

-T, --upload-file <file>
    This  transfers  the  specified  local  file  to the remote URL. [...] If this is used on an HTTP(S) server, the PUT command will be used.

考虑到这一点,基于 the Streaming Uploads docrequests 调用应该约为

import requests

with open("/Users/kenh/Downloads/amazing_race.mp4", "rb") as data:
    resp = requests.put(
        url="https://....",
        data=data,
        headers={
            "Content-type": "video/mp4",
        },
    )
    resp.raise_for_status()

Requests 会为您占卜 content-length header。

你的命令试图做的是将文件上传到 HTTP 服务器。所以 -T 实际上是 --upload-file 参数的缩写版本,它后面的文件名就是你要上传的文件。

requests 几乎是 Python 中的等价包。如果您想将 CURL 语法转换为 Python,请检查 this 站点。