-
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);
These fucttions with ICurlCustomSList, ICurlCustomForm parameters copy reference to v. You are no longer allowed to change the object, but you can…
- reassign the reference (ref-counting will automatically destroy
vwhen it is no longer needed). - use the same object for another
ICurl. The exception isICurlCustomFormthat involves streams; you should not assign it for two objects that operate simultaneously. - Warning: cURL is not Unicode-enabled. Thus, all file support is rewritten. It means: if the form involves the name of a disk file, it involves streams.