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?
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?
400
401
2.2 Does curl work/build with other SSL libraries?
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
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!
407
408
2.3 Where can I find a copy of LIBEAY32.DLL?
945
946
In either case, cURL should now be looking for the correct file.
948
4.19 Why doesn't cURL return an error when the network cable is unplugged?
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.
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.
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.
947
973
5. libcurl Issues
949
975
5.1 Is libcurl thread-safe?
1058
1084
Borland: libcurl.lib libcurl_imp.lib
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
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).
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:
1100
1127
Using this offers asynchronous name resolves but it currently has no IPv6
1103
- The Windows threaded resolver. It use:
1130
- The threaded resolver (default option on Windows). It uses:
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
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.
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.
1188
1217
6. License Issues