virustotal.com помогите с post запросом

backoff

Client
Регистрация
20.04.2015
Сообщения
5 925
Благодарностей
6 389
Баллы
113
ку
поделитесь api post запросом у кого есть, отправки файла на проверку на вирусы.

Пробую сделать это - https://developers.virustotal.com/v3.0/reference#files-scan
78420

не понимаю как запрос правильно по курлу составить

в зенке выдает ошибку

C#:
{
    "error": {
        "message": "Argument \"file\" is missing",
        "code": "BadRequestError"
    }
}
видимо неправильно json составляю
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 760
Благодарностей
2 398
Баллы
113
C#:
string file = @"C:\Users\User\Desktop\123.html"; // Путь к файлу
string api = "api key virustotal"; // Ключ API
string url = @"https://www.virustotal.com/api/v3/files";
string[] headers = new[]{string.Format("x-apikey: {0}", api)};
string sBoundary = DateTime.Now.Ticks.ToString("x");
string mimeType = "application/unknown";
string contentTypePost = "multipart/form-data";
string sPostMultiString = string.Empty;
FileInfo fileinfo = new System.IO.FileInfo(file);

// функция сбора данных
Func<string, string, string, string, string, string> multiFormDataFile = delegate(string key, string value, string fileName, string fileType, string boundary) {
  string output = string.Format("--{0}\r\n", boundary);
  output += string.Format(@"Content-Disposition: form-data; name=""{0}""; filename=""{1}""\r\n", key, fileName);
  output += string.Format("Content-Type: {0}\r\n\r\n", fileType);
  output += string.Format("{0}\r\n", value);
  return output;
};

// Определяем mimeType
Microsoft.Win32.RegistryKey regKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(fileinfo.Extension.ToLower());
if(regKey != null) {
    object contentType = regKey.GetValue("Content Type");
    if(contentType != null) {
        mimeType = contentType.ToString();
    }
}

sPostMultiString += multiFormDataFile("file", fileinfo.FullName, fileinfo.Name, mimeType, sBoundary);
return ZennoPoster.HttpPost(url, sPostMultiString, contentTypePost, Cookies: "", AdditionalHeaders: headers);
Пример результата полученный данным кодом:
JSON:
{
    "data": {
        "type": "analysis",
        "id": "OTFkM2NkNmY3NmU3ZTUwYWZkNGRmYzU4MmE5OWMwMTc6MTYyMzMzMTQxNw=="
    }
}
 
  • Спасибо
Реакции: ZSHab, Ilshakin и backoff

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)