【发布时间】:2021-09-19 17:42:49
【问题描述】:
我正在尝试使用工具将 CURL 命令转换为 python 代码。
这是tool。
CURL 命令:
curl -X POST -H 'content-type: multipart/form-data' -F 'file=@"image-api.jpg";filename="image_app.png"' -H "Authorization: Bearer eyJpc3MiOiJodHRwczpcL1wvYWNjb3VudHMuc25hcGNoYXQuY29tXC9hY2NvdW50c1wvb2F1dGgyXC90b2tlbiIsInR5cCI6IkpXVCIsImVuYyI6IkExMjhDQkMtSFMyNTYiLCJhbGciOiJkaXIiLCJraWQiOiJhY2Nlc3MtdG9rZW4tYTEyOGNiYy1oczI1Ni4wIn0..s2rMbO22nSfSqhuBwq68QA.Gu0MBlHpBXEdIS89YQSFrgS6nwtZT3NCax004UcjcFzOT_-ioXwoh8mwEethNTmVfY-F21CZ8ceTeAZQbhYiFqN5cWrnk2WX_KIw8Uq-D1jbrwrhqbFshzUMXqCAoJIe9DLzZYXmYdia1l9mMMdiSyyep9dFGzwOgB_FdGDU-fUIuEGEZyXdeyCM_4TDf652JPOHc_ldZmHivpmfa9QacMXjJxrVN0Y10m0_FC6p_q7WPdyVtUYSk1EMmHjIPNUSvRTSjNPLHhfH_WXNWcVPjy07p3bwNYc2uj4Woy-VYci51M4vuWRZrAMs6GO4eQeAu4Z7rKIc_Zhu4CBZcU1yqg4joQFnWUXRi_a_fq1SeeQYrFC_NFX5jgsz7ElCvPd2s0s0rs6FdBTNDPDdM-o2W35a8Ew46KRHrOT2FN6yJyVVI_hrz0hBajsC-BU4u2i90KlV0SKQOOR19t5RuGLJbLXxRdVL_s172CdQwHUejhjuusq_r0JmxtwCVBCEzMcOzdJ-2u7PPEZbsAiVpdS9MJdDQyVQOJ_e0UlIN6qNKhFSKS9-88mFvDS4MmFdenfacBbGJycjgNx_TgIjnpbk2KAYe2-_mKbMkOctxUA-3ZAfpjMF0UUO46csIJEpmmwmUOp5qt4jz2EbSZjvjmyPIxXF38Qv3g-HGBPUQF8vvx0BHd-WkB6Hs86jjXBlplUD8AgIo-YNoIeH4-2umCw6b-DuGFuG3ZTcyzM8P1lrPCg.SOqmXSkT1dNBh4QknnuBXQ" https://adsapi.snapchat.com/v1/media/577e68af-0b9b-4ae6-8bbb-22ac6910557f/upload
Python 代码:
import requests
headers = {
'content-type': 'multipart/form-data',
'Authorization': 'Bearer eyJpc3MiOiJodHRwczpcL1wvYWNjb3VudHMuc25hcGNoYXQuY29tXC9hY2NvdW50c1wvb2F1dGgyXC90b2tlbiIsInR5cCI6IkpXVCIsImVuYyI6IkExMjhDQkMtSFMyNTYiLCJhbGciOiJkaXIiLCJraWQiOiJhY2Nlc3MtdG9rZW4tYTEyOGNiYy1oczI1Ni4wIn0..s2rMbO22nSfSqhuBwq68QA.Gu0MBlHpBXEdIS89YQSFrgS6nwtZT3NCax004UcjcFzOT_-ioXwoh8mwEethNTmVfY-F21CZ8ceTeAZQbhYiFqN5cWrnk2WX_KIw8Uq-D1jbrwrhqbFshzUMXqCAoJIe9DLzZYXmYdia1l9mMMdiSyyep9dFGzwOgB_FdGDU-fUIuEGEZyXdeyCM_4TDf652JPOHc_ldZmHivpmfa9QacMXjJxrVN0Y10m0_FC6p_q7WPdyVtUYSk1EMmHjIPNUSvRTSjNPLHhfH_WXNWcVPjy07p3bwNYc2uj4Woy-VYci51M4vuWRZrAMs6GO4eQeAu4Z7rKIc_Zhu4CBZcU1yqg4joQFnWUXRi_a_fq1SeeQYrFC_NFX5jgsz7ElCvPd2s0s0rs6FdBTNDPDdM-o2W35a8Ew46KRHrOT2FN6yJyVVI_hrz0hBajsC-BU4u2i90KlV0SKQOOR19t5RuGLJbLXxRdVL_s172CdQwHUejhjuusq_r0JmxtwCVBCEzMcOzdJ-2u7PPEZbsAiVpdS9MJdDQyVQOJ_e0UlIN6qNKhFSKS9-88mFvDS4MmFdenfacBbGJycjgNx_TgIjnpbk2KAYe2-_mKbMkOctxUA-3ZAfpjMF0UUO46csIJEpmmwmUOp5qt4jz2EbSZjvjmyPIxXF38Qv3g-HGBPUQF8vvx0BHd-WkB6Hs86jjXBlplUD8AgIo-YNoIeH4-2umCw6b-DuGFuG3ZTcyzM8P1lrPCg.SOqmXSkT1dNBh4QknnuBXQ',
}
files = {
'file': ('"image-api.jpg";filename', open('"image-api.jpg";filename', 'rb')),
}
response = requests.post('https://adsapi.snapchat.com/v1/media/577e68af-0b9b-4ae6-8bbb-22ac6910557f/upload', headers=headers, files=files)
但是,当我尝试使用 python test.py 运行 python 代码时(其中 test.py 有上面的代码)
我收到以下错误:
$ python test.py
Traceback (most recent call last):
File "test.py", line 9, in <module>
'file': ('"image-api.jpg";filename', open('"image-api.jpg";filename', 'rb')),
OSError: [Errno 22] Invalid argument: '"image-api.jpg";filename'
我不知道,我在这里做错了什么。如果有人对此提供帮助,我将不胜感激。
顺便说一句,我指的是来自 link 的文档。 (上传媒体 - 图片部分)
【问题讨论】:
-
在没有
;filename的情况下使用"image-api.jpg"- 和" "或' '但不能同时使用' " " ' -
不要质疑真实的
Authorization,因为有人可能会使用它而不是您来发送图像 - 您可能会遇到问题。
标签: python curl python-requests