~ubuntu-branches/ubuntu/natty/curl/natty-proposed

« back to all changes in this revision

Viewing changes to docs/FAQ

  • Committer: Bazaar Package Importer
  • Author(s): Ramakrishnan Muthukrishnan
  • Date: 2010-08-12 08:20:48 UTC
  • mto: (3.4.8 sid)
  • mto: This revision was merged to the branch mainline in revision 43.
  • Revision ID: james.westby@ubuntu.com-20100812082048-7g7fewx1ai2ozgsf
Tags: upstream-7.21.1
ImportĀ upstreamĀ versionĀ 7.21.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
Updated: Nov 7, 2009 (http://curl.haxx.se/docs/faq.html)
 
1
Updated: June 30, 2010 (http://curl.haxx.se/docs/faq.html)
2
2
                                  _   _ ____  _
3
3
                              ___| | | |  _ \| |
4
4
                             / __| | | | |_) | |
74
74
  4.16 My HTTP POST or PUT requests are slow!
75
75
  4.17 Non-functional connect timeouts on Windows
76
76
  4.18 file:// URLs containing drive letters (Windows, NetWare)
 
77
  4.19 Why doesn't cURL return an error when the network cable is unplugged?
77
78
 
78
79
 5. libcurl Issues
79
80
  5.1 Is libcurl thread-safe?
83
84
  5.5 Does CURLOPT_WRITEDATA and CURLOPT_READDATA work on win32 ?
84
85
  5.6 What about Keep-Alive or persistent connections?
85
86
  5.7 Link errors when building libcurl on Windows!
86
 
  5.8 libcurl.so.3: open failed: No such file or directory
 
87
  5.8 libcurl.so.X: open failed: No such file or directory
87
88
  5.9 How does libcurl resolve host names?
88
89
  5.10 How do I prevent libcurl from writing the response to stdout?
89
90
  5.11 How do I make libcurl not receive the whole HTTP response?
399
400
 
400
401
  2.2 Does curl work/build with other SSL libraries?
401
402
 
402
 
  Curl has been written to use OpenSSL, GnuTLS, yassl or NSS, although there
403
 
  should not be many problems using a different library. If anyone does "port"
404
 
  curl to use a different SSL library, we are of course very interested in
405
 
  getting the patch!
 
403
  Curl has been written to use OpenSSL, GnuTLS, yassl, NSS or PolarSSL,
 
404
  although there should not be many problems using a different library. If
 
405
  anyone does "port" curl to use a different SSL library, we are of course
 
406
  very interested in getting the patch!
406
407
 
407
408
  2.3 Where can I find a copy of LIBEAY32.DLL?
408
409
 
944
945
 
945
946
  In either case, cURL should now be looking for the correct file.
946
947
 
 
948
  4.19 Why doesn't cURL return an error when the network cable is unplugged?
 
949
 
 
950
  Unplugging the cable is not an error situation. The TCP/IP protocol stack
 
951
  was designed to be fault tolerant, so even though there may be a physical
 
952
  break somewhere the connection shouldn't be affected, just possibly
 
953
  delayed.  Eventually, the physical break will be fixed or the data will be
 
954
  re-routed around the physical problem.
 
955
 
 
956
  In such cases, the TCP/IP stack is responsible for detecting when the
 
957
  network connection is irrevocably lost. Since with some protocols it is
 
958
  perfectly legal for the client wait indefinitely for data, the stack may
 
959
  never report a problem, and even when it does, it can take up to 20 minutes
 
960
  for it to detect an issue.  The curl option --keepalive-time enables
 
961
  keep-alive support in the TCP/IP stack which makes it periodically probe the
 
962
  connection to make sure it is still available to send data. That should
 
963
  reliably detect any TCP/IP network failure.
 
964
 
 
965
  But even that won't detect the network going down before the TCP/IP
 
966
  connection is established (e.g. during a DNS lookup) or using protocols that
 
967
  don't use TCP.  To handle those situations, curl offers a number of timeouts
 
968
  on its own. --speed-limit/--speed-time will abort if the data transfer rate
 
969
  falls too low, and --connect-timeout and --max-time can be used to put an
 
970
  overall timeout on the connection phase or the entire transfer.
 
971
 
 
972
 
947
973
5. libcurl Issues
948
974
 
949
975
  5.1 Is libcurl thread-safe?
1058
1084
  Borland:         libcurl.lib   libcurl_imp.lib
1059
1085
 
1060
1086
 
1061
 
  5.8 libcurl.so.3: open failed: No such file or directory
 
1087
  5.8 libcurl.so.X: open failed: No such file or directory
1062
1088
 
1063
1089
  This is an error message you might get when you try to run a program linked
1064
1090
  with a shared version of libcurl and your run-time linker (ld.so) couldn't
1065
 
  find the shared library named libcurl.so.3.
 
1091
  find the shared library named libcurl.so.X. (Where X is the number of the
 
1092
  current libcurl ABI, typically 3 or 4).
1066
1093
 
1067
 
  You need to make sure that ld.so finds libcurl.so.3. You can do that
 
1094
  You need to make sure that ld.so finds libcurl.so.X. You can do that
1068
1095
  multiple ways, and it differs somewhat between different operating systems,
1069
1096
  but they are usually:
1070
1097
 
1100
1127
    Using this offers asynchronous name resolves but it currently has no IPv6
1101
1128
    support.
1102
1129
 
1103
 
  - The Windows threaded resolver. It use:
 
1130
  - The threaded resolver (default option on Windows). It uses:
1104
1131
 
1105
 
    A - gethostbyname() on plain ipv4 windows hosts
1106
 
    B - getaddrinfo() on ipv6-enabled windows hosts
 
1132
    A - gethostbyname() on plain ipv4 hosts
 
1133
    B - getaddrinfo() on ipv6-enabled hosts
1107
1134
 
1108
1135
  Also note that libcurl never resolves or reverse-lookups addresses given as
1109
1136
  pure numbers, such as 127.0.0.1 or ::1.
1182
1209
  to do "LIST -a" or similar to see them.
1183
1210
 
1184
1211
  The application thus needs to parse the LIST output. One such existing
1185
 
  list parser is available at http://cr.yp.to/ftpparse.html
 
1212
  list parser is available at http://cr.yp.to/ftpparse.html  Versions of
 
1213
  libcurl since 7.21.0 also provide the ability to specify a wildcard to
 
1214
  download multiple files from one FTP directory.
1186
1215
 
1187
1216
 
1188
1217
6. License Issues