static void Main(string[] args) { Console.WriteLine("Hello World!"); // Configure API key authorization: Apikey Configuration.Default.AddApiKey("Apikey", "YOUR-KEY-HERE"); // Specify your private cloud endpoint Configuration.Default.BasePath = "http://cloudmersiveprivatecloud.westus.cloudapp.azure.com"; var apiInstance = new ScanApi(); var inputFile = new System.IO.FileStream("C:\\temp\\document2.pdf", System.IO.FileMode.Open); // System.IO.Stream | Input file to perform the operation on. try { // Scan a file for viruses VirusScanResult result = apiInstance.ScanFile(inputFile); Debug.WriteLine(result); } catch (Exception e) { Debug.Print("Exception when calling ScanApi.ScanFile: " + e.Message); } }
static void Main(string[] args) { Console.WriteLine("Starting..."); var files = Directory.EnumerateFiles("C:\\temp"); foreach (var file in files) { // Configure API key authorization: Apikey Configuration.Default.AddApiKey("Apikey", "e4c8ad3b-335b-4082-a297-f3153da07770"); var apiInstance = new ScanApi(); using (var inputFile = new System.IO.FileStream(file, System.IO.FileMode.Open)) { try { // Scan a file for viruses VirusScanResult result = apiInstance.ScanFile(inputFile); Debug.WriteLine(JsonConvert.SerializeObject(result)); } catch (Exception e) { Debug.Print("Exception when calling ScanApi.ScanFile: " + e.Message); } } } }
private VirusScanResult CreateRandomVirusScanResult(Random random) { String name = names[random.Next(0, names.Length - 1)]; String infectedFile = files[random.Next(0, files.Count - 1)]; string randomCountry = countries[random.Next(0, countries.Length - 1)]; double version = random.NextDouble(); Array values = Enum.GetValues(typeof(VirusScanResult.enumDisposition)); String randomDescription = buildRandomDescription(random); VirusScanResult.enumDisposition randomDisposition = (VirusScanResult.enumDisposition)values.GetValue(random.Next(values.Length)); VirusScanResult virusScanResult = new VirusScanResult(name, infectedFile, version, randomDisposition, randomDescription, randomCountry); return(virusScanResult); }
public VirusScanResult ScanFileBytes(byte[] imageBytes) { using (WebClient client = new WebClient()) { client.Headers.Add("Apikey", Apikey); client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; var bytes = imageBytes; var response = client.UploadData("https://api.cloudmersive.com/virus/scan/file", "POST", bytes); VirusScanResult result = JsonConvert.DeserializeObject <VirusScanResult>(System.Text.Encoding.ASCII.GetString(response)); return(result); } }
public bool?CloudmersiveScan(IFormFile file) { Configuration.Default.AddApiKey("Apikey", _configuration["CloudmersiveKey"]); var apiInstance = new ScanApi(); VirusScanResult result = new VirusScanResult(); try { // Scan a file for viruses result = apiInstance.ScanFile(file.OpenReadStream()); Debug.WriteLine(result); } catch (Exception e) { Debug.Print("Exception when calling ScanApi.ScanFile: " + e.Message); } return(result.CleanResult); }
/// <summary> /// Scans the specified file for virus infections /// </summary> /// <param name="file">The file.</param> /// <returns>State indicating whether the file is infected or not.</returns> public static VirusScanResult Scan(FileInfo file) { VirusScanResult result = VirusScanResult.Clean; try { Process process = new Process(); process.StartInfo.UseShellExecute = false; process.StartInfo.RedirectStandardOutput = true; process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; process.StartInfo.CreateNoWindow = true; process.StartInfo.WorkingDirectory = Properties.Settings.Default.FprotFolder; process.StartInfo.FileName = Properties.Settings.Default.FprotFolder + Properties.Settings.Default.FprotExe; process.StartInfo.Arguments = String.Format( "{0} \"{1}\"", Properties.Settings.Default.FprotArguments, file.ToString()); process.Start(); process.WaitForExit(); String message = process.StandardOutput.ReadToEnd(); if (!message.Contains(Properties.Settings.Default.FprotInfectionIndicator)) { result = VirusScanResult.Infected; Tracing.Message("Mail is infected: " + file.FullName); } else { result = VirusScanResult.Clean; Tracing.Message("Mail is clean: " + file.FullName); } } catch (Exception ex) { throw new Exception("Virus scan failed. See inner exception for further detail", ex); } return(result); }
/// <summary> /// This is called by the virus scanning engine. /// </summary> /// <param name="virusScanResult">The last file processed or null if the scan is finished</param> private void processData(VirusScanResult virusScanResult) { if (virusScanResult == null) { lblScanStatus.Text = "Scan complete"; } else { if (virusScanResult.disposition != VirusScanResult.enumDisposition.clean) { txtResults.Text = (virusScanResult.fileName + " : " + virusScanResult.virusName + Environment.NewLine + txtResults.Text); lblVirusName.Text = virusScanResult.virusName; lblDescription.Text = virusScanResult.description; } else { txtResults.Text = (virusScanResult.fileName + Environment.NewLine + txtResults.Text); lblVirusName.Text = ""; lblDescription.Text = ""; } } }