                                  _   _ ____  _     
                              ___| | | |  _ \| |    
                             / __| | | | |_) | |    
                            | (__| |_| |  _ <| |___ 
                             \___|\___/|_| \_\_____|

FAQ

Problems connecting to SSL servers.
===================================

  It took a very long time before I could sort out why curl had problems
  to connect to certain SSL servers when using SSLeay or OpenSSL v0.9+.
  The error sometimes showed up similar to:

  16570:error:1407D071:SSL routines:SSL2_READ:bad mac decode:s2_pkt.c:233:

  It turned out to be because many older SSL servers don't deal with SSLv3
  requests properly. To correct this problem, tell curl to select SSLv2 from
  the command line (-2/--sslv2).

  I have also seen examples where the remote server didn't like the SSLv2
  request and instead you had to force curl to use SSLv3 with -3/--sslv3.

Does curl support resume?
=========================

  Yes. Both ways on FTP, download ways on HTTP.

Is libcurl thread safe?
=======================

  Yes, as far as curl's own code goes. It does use system calls that often
  aren't thread safe in most environments, such as gethostbyname().

  I am very interested in once and for all getting some kind of report or
  README file from those who have used libcurl in a threaded environment,
  since I haven't and I get this question more and more frequently!

Why doesn't my posting using -F work?
=====================================

  You can't simply use -F or -d at your choice. The web server that will
  receive your post assumes one of the formats. If the form you're trying to
  "fake" sets the type to 'multipart/form-data', than and only then you must
  use the -F type. In all the most common cases, you should use -d which then
  causes a posting with the type 'application/x-www-form-urlencoded'.

Does curl support custom FTP commands?
======================================

  Yes it does, you can tell curl to perform optional commands both before
  and/or after a file transfer. Study the -Q/--quote option.

  Since curl is used for file transfers, you don't use curl to just perform
  ftp commands without transfering anything. Therefore you must always specify
  a URL to transfer to/from even when doing custom FTP commands.

Does curl work with other SSL libraries?
========================================

  Curl has been written to use OpenSSL, although I doubt there would be much
  problems using a different library. I just don't know any other free one and
  that has limited my possibilities to develop against anything else.

  If anyone does "port" curl to use a commercial SSL library, I am of course
  very interested in getting the patch!

configre doesn't find OpenSSL even when it is installed
=======================================================

  Platforms: Solaris (native cc compiler) and HPUX (native cc compiler)

  When configuring curl, I specify --with-ssl. OpenSSL is installed in
  /usr/local/ssl Configure reports SSL in /usr/local/ssl, but fails to find
  CRYPTO_lock in -lcrypto 

  Cause: The cc for this test places the -L/usr/local/ssl/lib AFTER -lcrypto,
  so ld can't find the library. This is due to a bug in the GNU autoconf tool.

  Workaround: Specifying "LDFLAGS=-L/usr/local/ssl/lib" in front of ./configure
  places the -L/usr/local/ssl/lib early enough in the command line to make
  things work

  Submitted by: Bob Allison <allisonb@users.sourceforge.net>
