我的目标是上传文件,这就是我的代码:
headers = {
'Some_Auth_Stuff': _get_ca_cert(ROLE),
'Host': host,
}
files = {'upload_file': file}
params = (
('op', 'create'),
('permission', '755')
)
r = requests.put(
'https://proxystuff.hostname.com/fs%s' % hue_path,
headers=headers, files=files, params=params)
if r.status_code == 201:
return True
return False
我正在上传此文件:
i am a test file
我得到了201响应,这很好但是当我查看文件时,它看起来像是这样:
--04dc34a8a49d4b83878473d6d78e683d
Content-Disposition: form-data; name="upload_file"; filename="testfile"
i am a test file
--04dc34a8a49d4b83878473d6d78e683d--
在上传内容时,我是否遗漏了一些内容?有没有办法禁止文件获取前置和附加的东西?
编辑: 如果我使用这个curl命令它可以正常工作
curl -c cookie -b cookie -T "test.txt" "https://proxystuff.hostname.com/fs/user/stupidfatcat/test.txt?op=create&permission=755" -H "Some_Auth_Stuff:blahblah" -H "Host:someotherhost_with_hadoop.com:4443"
答案 0 :(得分:0)
尝试了一些东西之后,如果我把它改成
headers=headers, data=file.read(), params=params
我将Content-Type设置为plain / text它工作正常,看起来它不像文件参数。