我正在尝试使用python和nessus REST API(func POST/file/upload(将导出的扫描(.nessus(文件上载到nessus Community Edition服务器,但我一直在响应中获得类似{"fileuploaded":null}
的响应null
。
在API文档中,我似乎看不出还需要什么。
def upload_scan_file(_path):
_url = url+"/file/upload"
_head['Content-type'] = ''
_files = {"file": open(_path, 'rb'), "no_enc" : "0"}
r = requests.post(_url, headers=_head, verify=False, files=_files)
return r.text
我在头dict中取消设置Content-type
密钥的原因是我得到了一个{'error': Content-type: application/json not supported'}
_path
包含文件路径。
_head
是头值的dict,我用它来查询所有其他信息。
如有任何帮助,我们将不胜感激。
因为您是通过files=_files
上传文件的,所以不应该指定Content-type
。Content-type
应该由请求库设置。阅读:上传内容时,HTTP请求中的内容类型值是什么?。尝试删除_head['Content-type'] = ''
并将_files
更改为_files = {"file": open(_path, 'rb')}