-
Notifications
You must be signed in to change notification settings - Fork 23
ICurl
Mercury13 edited this page Apr 5, 2015
·
44 revisions
ICurl is a wrapper for “easy” cURL interface.
To create ICurl, call CurlGet from Curl.Easy unit.
The object will be auto-destructed, when all links to it disappear.
property Handle : TCurlHandle;
Returns cURL handle.
procedure SetOpt(aOption : TCurlOffOption; aData : TCurlOff);
procedure SetOpt(aOption : TCurlOption; aData : pointer);
procedure SetOpt(aOption : TCurlIntOption; aData : NativeUInt);
procedure SetOpt(aOption : TCurlIntOption; aData : boolean);
procedure SetOpt(aOption : TCurlStringOption; aData : PAnsiChar);
procedure SetOpt(aOption : TCurlStringOption; aData : RawByteString);
procedure SetOpt(aOption : TCurlStringOption; aData : UnicodeString);
procedure SetOpt(aOption : TCurlSlistOption; aData : PCurlSList);
deprecated 'Use SetXXX instead: SetCustomHeaders, SetResolveList, etc.';
procedure SetOpt(aOption : TCurlPostOption; aData : PCurlHttpPost);
deprecated 'Use SetForm or property Form instead.';
The rawmost version. Set an option.
Warning: Which options are copied and which are referenced, read cURL documentation. In 7.40.0 string options are copied, and you may freely reassign them. SList, HttpPost and other objects are referenced and thus they should not disappear until Perform ends.
procedure SetUrl(aData : PAnsiChar/RawByteString/UnicodeString);
procedure SetCaFile(aData : PAnsiChar/RawByteString/UnicodeString);
…and many-many more with string/bool/int parameters are equivalent to corresponding SetOpt.
procedure SetCustomHeaders(v : ICurlCustomSList);
procedure SetPostQuote(v : ICurlCustomSList);
procedure SetTelnetOptions(v : ICurlCustomSList);
procedure SetPreQuote(v : ICurlCustomSList);
procedure SetHttp200Aliases(v : ICurlCustomSList);
procedure SetMailRcpt(v : ICurlCustomSList);
procedure SetResolveList(v : ICurlCustomSList);
procedure SetProxyHeader(v : ICurlCustomSList);
procedure SetForm(v : ICurlCustomForm);
…and some more with ICurlCustomSList, ICurlCustomForm parameters copy reference to v. You are no longer allowed to change the object, but you can…
- reassign the reference (
ICurlkeeps one reference inside, protecting them from destruction). - use the same object for another
ICurlor another option. The exception isICurlCustomForm'sthat involve streams. - Warning: cURL is not Unicode-enabled. Thus, if the form involves file name, it involves streams.