Lines Matching +full:ipv4 +full:- +full:multi +full:- +full:target
20 1.11 Why don't you update ca-bundle.crt
34 3.3 Why doesn't my posting using -F work?
41 3.10 What about SOAP, WebDAV, XML-RPC or similar protocols over HTTP?
42 3.11 How do I POST with a different Content-Type?
43 3.12 Why do FTP-specific features over HTTP proxy fail?
53 3.22 curl -X gives me HTTP problems
73 4.13 Why is curl -R on Windows one hour off?
77 4.17 Non-functional connect timeouts on Windows
80 4.20 curl doesn't return error for HTTP non-200 responses!
83 5.1 Is libcurl thread-safe?
88 5.6 What about Keep-Alive or persistent connections?
96 5.14 Using C++ non-static functions for callbacks?
98 5.16 I want a different time-out!
104 6.2 I have a closed-source program, can I use the libcurl library?
133 A free and easy-to-use client-side URL transfer library, supporting DICT,
143 platforms, including Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HP-UX,
148 libcurl is free, thread-safe, IPv6 compatible, feature rich, well
161 https://media.merriam-webster.com/soundc11/c/curl0001.wav
163 There are numerous sub-projects and related projects that also use the word
165 notice that this FAQ is directed at the command-line tool named curl (and
166 libcurl the library), and may therefore not be valid for other curl-related
175 commercial or closed-source.
178 used C-based multi-platform file transfer library on this planet - be it
185 market. curl is targeted at single-shot file transfers.
209 curl -- the command line tool -- is to remain a non-graphical command line
256 If you want to support our project, consider a donation or a banner-program
263 During the summer of 2001, curl.com was busy advertising their client-side
279 curl-related questions on a suitable mailing list. All available mailing
283 Keeping curl-related questions and discussions on mailing lists allows
291 mail curl-security at haxx.se (closed list of receivers, mails are not
299 your curl-related problems.
319 1.11 Why don't you update ca-bundle.crt
333 Firefox (by running 'make ca-bundle), or by using our online service setup
340 you can get -- or provide -- help instantly.
362 https://www.bis.doc.gov/index.php/documents/new-encryption/1653-ccl5-pt2-3
370 the curl-library mailing list. We're many subscribers there and there are
379 Here's a rough step-by-step:
381 1. copy a suitable lib/config-*.h file as a start to lib/config-[youros].h
383 2. edit lib/config-[youros].h to match your OS and setup
385 3. edit lib/curl_setup.h to include config-[youros].h when your OS is
402 handled automatically). This is a very error-prone process and one that also
421 maintain a comparison of them here: https://curl.se/docs/ssl-compared.html
451 Try the -C option.
453 3.3 Why doesn't my posting using -F work?
455 You can't arbitrarily use -F or -d, the choice between -F or -d depends on
459 If the form you're trying to submit uses the type 'multipart/form-data',
460 then and only then you must use the -F type. In all the most common cases,
461 you should use -d which then causes a posting with the type
462 'application/x-www-form-urlencoded'.
473 file transfer. Study the -Q/--quote option.
478 commands, or use -I which implies the "no body" option sent to libcurl.
483 the -H/--header option. By adding a header with empty contents you safely
484 disable that one. Use -H "Accept:" to disable that specific header.
489 generated. It may be ASP, PHP, Perl, shell-script, SSI or plain HTML
497 Yes. You specify custom FTP commands with -Q/--quote.
501 curl -O ftp://download.com/coolfile -Q '-DELE coolfile'
505 curl -T infile ftp://upload.com/dir/ -Q "-RNFR infile" -Q "-RNTO newname"
509 curl does not follow so-called redirects by default. The Location: header
511 -L/--location option. As in:
513 curl -L http://redirector.com
530 about bindings on the curl-library list too, but be prepared that people on
536 Java, Julia, Lisp, Lua, Mono, .NET, node.js, Object-Pascal, OCaml, Pascal,
538 Scilab, S-Lang, Smalltalk, SP-Forth, SPL, Tcl, Visual Basic, Visual FoxPro,
542 3.10 What about SOAP, WebDAV, XML-RPC or similar protocols over HTTP?
546 XML-RPC are all such ones. You can use -X to set custom requests and -H to
552 3.11 How do I POST with a different Content-Type?
554 You can always replace the internally generated headers with -H/--header.
555 To make a simple HTTP POST with text/xml as content-type, do something like:
557 curl -d "datatopost" -H "Content-Type: text/xml" [URL]
559 3.12 Why do FTP-specific features over HTTP proxy fail?
563 normally can't use FTP-specific features such as FTP upload and FTP quote
567 the given HTTP proxy. Proxy tunneling is enabled with a special option (-p)
576 curl -d " with spaces " url.com
580 curl -d ' with spaces ' url.com
597 have no built-in support for that, so it will be treated just like any other
630 talk about using SSL-based protocols (HTTPS or FTPS) using curl or libcurl.
660 "self-signed" or otherwise signed by a CA that you do not have a CA cert
672 or the not-quite-kosher-but-more-readable way, by simply starting the path
690 but use the target IP address in the URL:
692 curl --header "Host: www.example.com" http://127.0.0.1/
694 You can also opt to add faked host name entries to curl with the --resolve
698 curl --resolve www.example.com:80:127.0.0.1 http://www.example.com/
709 curl -O -u user:password sftp://example.com/~/file.txt
713 curl -O -u user:password scp://example.com/~/file.txt
729 3.22 curl -X gives me HTTP problems
731 In normal circumstances, -X should hardly ever be used.
735 "curl http://example.com" it will use GET. If you use -d or -F curl will use
736 POST, -I will cause a HEAD and -T will make it a PUT.
739 does for you, you can override those request methods by specifying -X
740 [WHATEVER]. This way you can for example send a DELETE by doing "curl -X
743 It is thus pointless to do "curl -XGET [URL]" as GET would be used
744 anyway. In the same vein it is pointless to do "curl -X POST -d data
746 request-body in a GET request with something like "curl -X GET -d data
749 Note that -X doesn't actually change curl's behavior as it only modifies the
753 Accordingly, by using -XPOST on a command line that for example would follow
768 An example that would invoke a remote CGI that uses &-symbols could be:
770 curl 'http://www.altavista.com/cgi-bin/query?text=yes&q=curl'
777 using -d/--data you must encode it as '%25' (which then also needs the
790 them for the curl URL "globbing" system), use the -g/--globoff option:
792 curl -g 'www.site.com/weirdname[].html'
801 By using the --fail option you can tell curl explicitly to not get any data
825 The server has not found anything matching the Request-URI. No indication
830 The method specified in the Request-Line is not allowed for the resource
831 identified by the Request-URI. The response MUST include an Allow header
843 -L/--location option to follow the redirection.
859 The first part is to avoid having clear-text passwords in the command line
861 avoided by using the "-K" option to tell curl to read parameters from a file
863 attempt to "hide" the given password by blanking out the option - this
875 SSL-based alternatives HTTPS and FTPS.
892 Microsoft Windows libraries at build-time to provide this functionality.
920 To completely disable the certificate verification, use -k. This does
921 however enable man-in-the-middle attacks and makes the transfer INSECURE.
926 store. It might for example be self-signed. You then correct this problem by
942 4.13 Why is curl -R on Windows one hour off?
945 any modern compiler that allows for a 64-bit curl_off_t type. For older
949 https://www.codeproject.com/Articles/1144/Beating-the-Daylight-Savings-Time-bug-and-getting
968 curl supports FTPS (sometimes known as FTP-SSL) both implicit and explicit
975 To use explicit FTPS, you use a FTP:// URL and the --ftp-ssl option (or one
983 very tiny request body) use the "Expect: 100-continue" header. This header
993 any header, using -H / CURLOPT_HTTPHEADER, or by forcing it to use HTTP 1.0.
995 4.17 Non-functional connect timeouts
1004 https://support.microsoft.com/en-us/kb/175523/en-us
1006 Also, even on non-Windows systems there may run a firewall or anti-virus
1045 re-routed around the physical problem through another path.
1051 for it to detect an issue. The curl option --keepalive-time enables
1052 keep-alive support in the TCP/IP stack which makes it periodically probe the
1059 on its own. --speed-limit/--speed-time will abort if the data transfer rate
1060 falls too low, and --connect-timeout and --max-time can be used to put an
1063 A libcurl-using application running in a known physical environment (e.g.
1067 OS-specific mechanism, then signaling libcurl to abort (see also item 5.13).
1069 4.20 curl doesn't return error for HTTP non-200 responses!
1071 Correct. Unless you use -f (--fail).
1086 as errors and thus return a non-zero value and possibly show an error
1087 message, curl has a dedicated option for that: -f (CURLOPT_FAILONERROR in
1090 You can also use the -w option and the variable %{response_code} to extract
1095 5.1 Is libcurl thread-safe?
1099 We have written the libcurl code specifically adjusted for multi-threaded
1100 programs. libcurl will use thread-safe functions instead of non-safe ones if
1134 mem->memory = (char *)realloc(mem->memory, mem->size + realsize + 1);
1135 if (mem->memory) {
1136 memcpy(&(mem->memory[mem->size]), ptr, realsize);
1137 mem->size += realsize;
1138 mem->memory[mem->size] = 0;
1165 5.6 What about Keep-Alive or persistent connections?
1174 handle. If you instead use the multi interface, the connection cache will be
1175 kept within the multi handle and will be shared among all the easy handles
1176 that are used within the same multi handle.
1189 add -DCURL_STATICLIB to your CFLAGS. Otherwise the linker will look for
1199 Target: static lib. import lib for libcurl*.dll.
1200 -----------------------------------------------------------
1209 with a shared version of libcurl and your run-time linker (ld.so) couldn't
1217 * Add an option to the linker command line that specify the hard-coded path
1218 the run-time linker should check for the lib (usually -R)
1231 of them is picked at build-time and will be used unconditionally. Thus, if
1235 - The non-IPv6 resolver that can use one of four different host name resolve
1238 A - gethostbyname()
1239 B - gethostbyname_r() with 3 arguments
1240 C - gethostbyname_r() with 5 arguments
1241 D - gethostbyname_r() with 6 arguments
1243 - The IPv6-resolver that uses getaddrinfo()
1245 - The c-ares based name resolver that uses the c-ares library for resolves.
1248 - The threaded resolver (default option on Windows). It uses:
1250 A - gethostbyname() on plain IPv4 hosts
1251 B - getaddrinfo() on IPv6 enabled hosts
1253 Also note that libcurl never resolves or reverse-lookups addresses given as
1258 libcurl provides a default built-in write function that writes received data
1270 imply sending IP packets with a made-up source address, and then you normally
1277 Also note that on many networks NATs or other IP-munging techniques are used
1292 If you're using the multi interface, you can also stop a transfer by
1293 removing the particular easy handle from the multi stack at any moment you
1296 5.14 Using C++ non-static functions for callbacks?
1306 // Call non-static member function.
1307 static_cast<YourClass*>(f)->nonStaticFunction();
1321 The follow-up question tends to be how is a program supposed to parse the
1324 return data in a machine-readable format that can be parsed for type. The
1329 and NLST tend to hide unix-style hidden files (those that start with a dot)
1330 by default so you need to do "LIST -a" or similar to see them.
1332 Example - List only directories.
1335 curl -s ftp.funet.fi/pub/ -X MLSD | \
1336 perl -lne 'print if s/(?:^|;)type=dir;[^ ]+ (.+)$/$1/'
1338 curl -s ftp.kernel.org/pub/linux/kernel/ | \
1339 perl -lne 'print if s/^d[-rwx]{9}(?: +[^ ]+){7} (.+)$/$1/'
1346 5.16 I want a different time-out!
1352 libcurl offers many more ways to time-out operations. A common alternative
1357 The most flexible way is by writing your own time-out logic and using
1365 internet protocol server. libcurl is only a client-side library. For server
1368 server for. And there are really good stand-alone ones that have been tested
1377 sure you use the non-blocking API which will do transfers asynchronously -
1405 6.2 I have a closed-source program, can I use the libcurl library?
1444 Next to none. All you need to adhere to is the MIT-style license (stated in
1470 The module for PHP that makes it possible for PHP programs to access curl-
1485 Yes - at least in PHP version 4.3.8 and later (this has been known to not
1490 transfer. This will make libcurl re-use the same connection if it can.