【お知らせ】この部分は英語原文のみでの提供となります。何卒ご了承ください。
2.1.21.14 okutil_http_range_request
Contents
Description
Download large datasets
Syntax
bool okutil_http_range_request( string * pstrFile, LPCOSTR lpcszUrl, const HttpRangeRequestParameters * lpParameters = NULL, StringArray * psaResponseHeaders = NULL, StringArray * psaLogs = NULL )
Parameters
- pstrFile
- [output] the download file
- lpcszUrl
- [input] the URL specify the target file to download
- lpParameters
- [input] request settings
struct HttpRangeRequestParameters { unsigned __int64 nMaximumRangeCount; // default: 32 unsigned __int64 nMinimumRangeSize; // default: 3 * 1024 * 1024 bytes unsigned __int64 nMaximumParallelDownloads; // default: 10 unsigned __int64 nDelayBetweenRequests; // default: 100 ms const char* lpcszRequestHeaders; // lines separated by '\n', e.g.: "Accept-Encoding:gzip,deflate\nAccept:*/*" int nResolveTimeout; // default: 30000 ms int nConnectTimeout; // default: 30000 ms int nSendTimeout; // default: 30000 ms int nReceiveTimeout; // default: 30000 ms bool bConditionalRequest; // default: true bool bCheckCertificate; // default: true bool bAcceptRangeOptional; // default: false };
- psaResponseHeaders
- [output] response
- psaLogs
- [output] error messages
Return
true if succcess, otherwise false
Examples
EX1
void okutil_http_range_request_ex() { string url = "https://github.com/opencv/opencv/releases/download/4.11.0/opencv-4.11.0-docs.zip"; HttpRangeRequestParameters parameters; parameters.nMinimumRangeSize = 1024 * 1024; // default: 1 MB parameters.nMaximumParallelDownloads = 16; string path; StringArray saResponseHeaders, saLogs; bool bRet = okutil_http_range_request(&path, url, ¶meters, &saResponseHeaders, &saLogs); }
Remark
See Also
Header to Included
origin.h