Skip to content
Mercury13 edited this page Apr 5, 2015 · 9 revisions

Warning: current version of Windows libcurl does not support Unicode! URLs and data — this is unpleasant, but you can encode/decode them for yourself. The main problem lies in file names.

So curl4delphi contains some emulation layer to circumvent this dire fact.

What does it mean?

  1. ICurlForm that involve disk files keeps them open all the time.
  2. Every ICurlForm that involves disk files claims to contain streams. So your choice of streaming technologies for sending is limited to Delphi TStream. Fortunately, you are free to choose a streaming technology for receiving and header processing.
  3. If the form involves any stream (including file streams), ICurl.Clone renders the clone thread-unsafe. You should recreate the form. To check whether you should recreate it, use ICurl.Form.DoesUseStream.

OpenSSL

Fortunately, OpenSSL supports Unicode. CURLOPT_CAINFO just accepts file name in UTF-8, that’s all.

Clone this wiki locally