在 python 脚本中发送带有多个数据文件和字符串的 post 请求
Send post request with multiple data files and strings in python script
我正在尝试发送 post 请求,我需要上传 2 个文件和一些其他字符串和整数,从 python 脚本中执行此操作的最佳方法是什么?
我可以在 bash 终端中使用 curl,它可以工作,但不确定如何为 python 脚本格式化它?
脚本中已经定义了多个变量
os.system(r"curl -F ''file=@./'+ t + '.files/' + t + '.png'' -F ''info=@./' + t + '.files/info.txt'' -F ''name=' + name' -F ''description=' + description' -F ''type=' + reso' -F 'source=' + source' -F 'live=' + live' + url + API")
变量是 t、名称、描述、资源、来源、直播、URL 和 API
如何在 python 中发送 post 请求?我遇到了建议导入请求的答案,但如果我的文件路径中有一个变量,我会使用什么语法?
我认为最理想的方式是这样的:
import requests
url = "{YOUR URL}"
payload={}
files=[
('file',('filename',open('/pathtofile/filename','rb'),'application/{FILE_TYPE}'))
]
headers = {
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
对于文件路径中的多个变量,您可以简单地连接两个或更多字符串,只需定义您的变量并将它们连接到文件路径中就可以了。
喜欢:
folder = "abc"
filepath = "C:/Users/xyz/" + abc
您可以连接任意数量的字符串。因此,在 files
列表中,您可以简单地将 open() 函数中的字符串替换为您的文件路径变量,这样您的文件列表将变为:
files=[
('file',('filename',open(filepath,'rb'),'application/{FILE_TYPE}'))
]
我正在尝试发送 post 请求,我需要上传 2 个文件和一些其他字符串和整数,从 python 脚本中执行此操作的最佳方法是什么?
我可以在 bash 终端中使用 curl,它可以工作,但不确定如何为 python 脚本格式化它?
脚本中已经定义了多个变量
os.system(r"curl -F ''file=@./'+ t + '.files/' + t + '.png'' -F ''info=@./' + t + '.files/info.txt'' -F ''name=' + name' -F ''description=' + description' -F ''type=' + reso' -F 'source=' + source' -F 'live=' + live' + url + API")
变量是 t、名称、描述、资源、来源、直播、URL 和 API
如何在 python 中发送 post 请求?我遇到了建议导入请求的答案,但如果我的文件路径中有一个变量,我会使用什么语法?
我认为最理想的方式是这样的:
import requests
url = "{YOUR URL}"
payload={}
files=[
('file',('filename',open('/pathtofile/filename','rb'),'application/{FILE_TYPE}'))
]
headers = {
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
对于文件路径中的多个变量,您可以简单地连接两个或更多字符串,只需定义您的变量并将它们连接到文件路径中就可以了。
喜欢:
folder = "abc"
filepath = "C:/Users/xyz/" + abc
您可以连接任意数量的字符串。因此,在 files
列表中,您可以简单地将 open() 函数中的字符串替换为您的文件路径变量,这样您的文件列表将变为:
files=[
('file',('filename',open(filepath,'rb'),'application/{FILE_TYPE}'))
]