How to Validate a Zip Archive using C/C++
Invalid Zip archives might indicate that dozens of compressed files are inaccessible, so it’s important to find out right away if that’s the case.
Thankfully, using the below C/C++ code examples, you can take advantage of a free & easy-to-use Zip Archive Validation API that checks Zip files for errors and warnings and identifies if files are password protected. You can use this solution to get straight to the bottom of any issues which may be present in your Zip archives.
To structure your API call, first install libcurl in your C/C++ project:
libcurl/7.75.0
Then copy the below examples into your file and provide a free-tier API key to authorize your requests (this allows up to 800 API calls per month with zero commitment):
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(curl, CURLOPT_URL, "https://api.cloudmersive.com/convert/validate/zip");
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Content-Type: multipart/form-data");
headers = curl_slist_append(headers, "Apikey: YOUR-API-KEY-HERE");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_mime *mime;
curl_mimepart *part;
mime = curl_mime_init(curl);
part = curl_mime_addpart(mime);
curl_mime_name(part, "inputFile");
curl_mime_filedata(part, "/path/to/file");
curl_easy_setopt(curl, CURLOPT_MIMEPOST, mime);
res = curl_easy_perform(curl);
curl_mime_free(mime);
}
curl_easy_cleanup(curl);
And just like that, you’re ready to identify and mitigate issues with your Zip archive data. Easy!