gpt4 book ai didi

python - 将 cURL 转换为 Python - 上传文件

转载 作者:行者123 更新时间:2023-12-02 07:03:06 28 4
gpt4 key购买 nike

我似乎无法将 cURL 转换为 python。来自文档:

curl -i --upload-file ~/Desktop/Myimage.jpg -H 'Authorization: Bearer Redacted' "https://api.linkedin.com/mediaUpload/C5522AQHn46pwH96hxQ/feedshare-uploadedImage/0?ca=vector_feedshare&cn=uploads&m=AQLKRJOn_yNw6wAAAW2T0DWnRStny4dzsNVJjlF3aN4-H3ZR9Div77kKoQ&app=1983914&sync=0&v=beta&ut=1Dnjy796bpjEY1

我尝试使用文件而不是数据,但没有成功。

下面的当前代码创建了正确的响应 201,但它是空白的(没有包含用于将来 API 调用的图像的 JSON 详细信息)。让我看看我需要进行哪些更改才能通过 PUT 请求上传文件而不使用多部分表单(即“files=”)

uploadUrl = data["value"]["uploadMechanism"]["com.linkedin.digitalmedia.uploading.MediaUploadHttpRequest"]["uploadUrl"]

filename = "ffadfads.jpeg"
media_url = "https://1000logos.net/wp-content/uploads/2017/03/LinkedIn-Logo.png"
request = requests.get(media_url, stream=True)
if request.status_code == 200:
with open(filename, 'wb') as image:
for chunk in request:
image.write(chunk)
#files = {'fileupload': open(filename)}
files = {"fileupload":(filename,open(filename,"rb"),'application-type')}
image_headers = {
'Accept': 'image/jpeg,image/png,image/gif',
'Authorization': 'Bearer ' + real_token
}
response = requests.request("PUT", uploadUrl, data=open(filename,"rb"), headers=image_headers)
print response
print response.text
print response.json()

最佳答案

尽量不要将请求与响应混淆。

response1 = requests.get(media_url, stream=True)
if response1.status_code == 200:
response2 = requests.request("PUT", uploadUrl,
data=response1.iter_content(),
headers=image_headers)

关于python - 将 cURL 转换为 Python - 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60715941/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com