我正在开发一个项目,需要指定多个表单参数,哪个是文件本身。
我尝试了什么:
import requests
REST_URL = 'http://192.168.150.138:8888/tasks/create/file'
with open(os.path.join('/home/default/Batch/Samples/', filename),'rb') as sample:
files = {'file' :("temp_file_name" , sample)}
r = requests.post(REST_URL , files=files)
问题:
我需要传递这样的附加信息(所有这些都是表单参数)
file (required) - sample file (multipart encoded file content)
package (optional) - analysis package to be used for the analysis
timeout (optional) (int) - analysis timeout (in seconds)
priority (optional) (int) - priority to assign to the task (1-3)
options (optional) - options to pass to the analysis package
machine (optional) - label of the analysis machine to use for the analysis
platform (optional) - name of the platform to select the analysis machine from (e.g. “windows”)
假设我想在表格中发送机器名称,我可以像这样创建吗?
data = {'machine' :'machine_name'}
r =requests.post(EST_URL , files=files,data=data)
任何建议都会有所帮助。
答案 0 :(得分:0)
问题:假设我想在表格中发送机器名称,我可以这样创建吗?
如果要测试requests
参数,可以运行以下命令:
import requests, io
url = 'http://httpbin.org/anything'
sample = io.StringIO('lorem ipsum')
files = {'file': ("temp_file_name", sample)}
data = {'machine': 'machine_name'}
r = requests.post(url, data=data, files=files)
r_dict = r.json()
for key in r_dict:
print('{}:{}'.format(key, r_dict[key]))
输出:
json:None headers:{'Connection': 'close', 'Content-Length': '261', 'User-Agent': 'python-requests/2.11.1', 'Content-Type': 'multipart/form-data; boundary=5ed95afb5ea2437eade92a826b29be0d', 'Host': 'httpbin.org', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*'} data: args:{} files:{'file': 'lorem ipsum'} method:POST url:http://httpbin.org/anything form:{'machine': 'machine_name'}
查看http://httpbin.org,您还可以测试许多其他网址端点。
使用Python测试:3.4.2