Nessus File upload REST API - PullRequest
       28

Nessus File upload REST API

0 голосов
/ 11 декабря 2018

Я пытаюсь загрузить экспортированный файл сканирования (.nessus) на сервер Nessus Community Edition, используя python и Nessus REST API (func POST / file / upload), однако продолжаю получать ответ null вот так {"fileuploaded":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

Причина, по которой я удалил ключ Content-type в заголовке, заключается в том, что я получаю {'error': Content-type: application/json not supported'}

_path, содержащий путь к файлу.

_head - это набор значений заголовков, которые я использую для запроса всей остальной информации.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 12 декабря 2018

Поскольку вы загружаете файл через files=_files, вам не следует указывать Content-type.Content-type должен быть установлен библиотекой запросов.Читайте: Что такое значение Content-Type в HTTP-запросе при загрузке контента? .Попробуйте удалить _head['Content-type'] = '' и изменить _files на _files = {"file": open(_path, 'rb')}

...