Lines Matching +full:ipv4 +full:- +full:simple +full:- +full:service +full:- +full:config
20 1.11 Why don't you update ca-bundle.crt
37 3.3 Why doesn't my posting using -F work?
44 3.10 What about SOAP, WebDAV, XML-RPC or similar protocols over HTTP?
45 3.11 How do I POST with a different Content-Type?
48 3.14 Does curl support Javascript or PAC (automated proxy config)?
56 3.22 curl -X gives me HTTP problems
77 4.13 Why is curl -R on Windows one hour off?
81 4.17 Non-functional connect timeouts on Windows
84 4.20 curl doesn't return error for HTTP non-200 responses!
88 5.1 Is libcurl thread-safe?
93 5.6 What about Keep-Alive or persistent connections?
101 5.14 Using C++ non-static functions for callbacks?
103 5.16 I want a different time-out!
109 6.2 I have a closed-source program, can I use the libcurl library?
138 A free and easy-to-use client-side URL transfer library, supporting DICT,
147 platforms, including Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HP-UX,
152 libcurl is free, thread-safe, IPv6 compatible, feature rich, well
165 https://media.merriam-webster.com/soundc11/c/curl0001.wav
167 There are numerous sub-projects and related projects that also use the word
169 notice that this FAQ is directed at the command-line tool named curl (and
170 libcurl the library), and may therefore not be valid for other curl-related
179 commercial or closed-source.
182 used C-based multi-platform file transfer library on this planet - be it
189 market. Curl is targeted at single-shot file transfers.
213 Curl -- the command line tool -- is to remain a non-graphical command line
261 If you want to support our project, consider a donation or a banner-program
266 During the summer of 2001, curl.com was busy advertising their client-side
282 curl-related questions on a suitable mailing list. All available mailing
286 Keeping curl-related questions and discussions on mailing lists allows
294 mail curl-security at haxx.se (closed list of receivers, mails are not
302 your curl-related problems.
322 See https://daniel.haxx.se/blog/2012/05/16/300m-users/
324 1.11 Why don't you update ca-bundle.crt
327 must be replaced with an up-to-date version by anyone who wants to verify
343 Firefox (by running 'make ca-bundle), or by using our online service setup
350 that you can get -- or provide -- help instantly.
372 https://www.bis.doc.gov/index.php/documents/new-encryption/1653-ccl5-pt2-3
379 o send a patch to the curl-library mailing list. We're many subscribers
391 Here's a rough step-by-step:
393 1. copy a suitable lib/config-*.h file as a start to lib/config-[youros].h
395 2. edit lib/config-[youros].h to match your OS and setup
397 3. edit lib/curl_setup.h to include config-[youros].h when your OS is
417 When configuring curl, I specify --with-ssl. OpenSSL is installed in
419 CRYPTO_lock in -lcrypto
421 Cause: The cc for this test places the -L/usr/local/ssl/lib AFTER
422 -lcrypto, so ld can't find the library. This is due to a bug in the GNU
425 Workaround: Specifying "LDFLAGS=-L/usr/local/ssl/lib" in front of
426 ./configure places the -L/usr/local/ssl/lib early enough in the command
439 configure. Make sure that you remove the config.cache file before you
452 of them here: https://curl.haxx.se/docs/ssl-compared.html
460 web site to find accurate and up-to-date pointers to recent OpenSSL DLLs and
492 Try the -C option.
494 3.3 Why doesn't my posting using -F work?
496 You can't arbitrarily use -F or -d, the choice between -F or -d depends on the
500 If the form you're trying to submit uses the type 'multipart/form-data', then
501 and only then you must use the -F type. In all the most common cases, you
502 should use -d which then causes a posting with the type
503 'application/x-www-form-urlencoded'.
514 file transfer. Study the -Q/--quote option.
519 commands, or use -I which implies the "no body" option sent to libcurl.
524 the -H/--header option. By adding a header with empty contents you safely
525 disable that one. Use -H "Accept:" to disable that specific header.
530 generated. It may be ASP, PHP, Perl, shell-script, SSI or plain HTML
538 Yes. You specify custom FTP commands with -Q/--quote.
542 curl -O ftp://download.com/coolfile -Q '-DELE coolfile'
546 curl -T infile ftp://upload.com/dir/ -Q "-RNFR infile" -Q "-RNTO newname"
550 Curl does not follow so-called redirects by default. The Location: header
552 -L/--location option. As in:
554 curl -L http://redirector.com
572 about bindings on the curl-library list too, but be prepared that people on
578 Java, Julia, Lisp, Lua, Mono, .NET, node.js, Object-Pascal, OCaml, Pascal,
580 Scilab, S-Lang, Smalltalk, SP-Forth, SPL, Tcl, Visual Basic, Visual FoxPro,
584 3.10 What about SOAP, WebDAV, XML-RPC or similar protocols over HTTP?
588 XML-RPC are all such ones. You can use -X to set custom requests and -H to
594 3.11 How do I POST with a different Content-Type?
596 You can always replace the internally generated headers with -H/--header.
597 To make a simple HTTP POST with text/xml as content-type, do something like:
599 curl -d "datatopost" -H "Content-Type: text/xml" [URL]
609 the given HTTP proxy. Proxy tunneling is enabled with a special option (-p)
618 curl -d " with spaces " url.com
622 curl -d ' with spaces ' url.com
636 3.14 Does curl support Javascript or PAC (automated proxy config)?
639 have no built-in support for that, so it will be treated just like any other
672 talk about using SSL-based protocols (HTTPS or FTPS) using curl or libcurl.
702 "self-signed" or otherwise signed by a CA that you do not have a CA cert
714 or the not-quite-kosher-but-more-readable way, by simply starting the path
734 curl --header "Host: www.example.com" http://127.0.0.1/
736 You can also opt to add faked host name entries to curl with the --resolve
740 curl --resolve www.example.com:80:127.0.0.1 http://www.example.com/
751 curl -O -u user:password sftp://example.com/~/file.txt
755 curl -O -u user:password scp://example.com/~/file.txt
771 3.22 curl -X gives me HTTP problems
773 In normal circumstances, -X should hardly ever be used.
777 "curl http://example.com" it will use GET. If you use -d or -F curl will use
778 POST, -I will cause a HEAD and -T will make it a PUT.
781 does for you, you can override those request methods by specifying -X
782 [WHATEVER]. This way you can for example send a DELETE by doing "curl -X
785 It is thus pointless to do "curl -XGET [URL]" as GET would be used
786 anyway. In the same vein it is pointless to do "curl -X POST -d data
788 request-body in a GET request with something like "curl -X GET -d data
791 Note that -X doesn't actually change curl's behavior as it only modifies the
795 Accordingly, by using -XPOST on a command line that for example would follow
812 the command line (-2/--sslv2).
815 request and instead you had to force curl to use SSLv3 with -3/--sslv3.
825 An example that would invoke a remote CGI that uses &-symbols could be:
827 curl 'http://www.altavista.com/cgi-bin/query?text=yes&q=curl'
834 using -d/--data you must encode it as '%25' (which then also needs the
847 them for the curl URL "globbing" system), use the -g/--globoff option:
849 curl -g 'www.site.com/weirdname[].html'
858 By using the --fail option you can tell curl explicitly to not get any data
882 The server has not found anything matching the Request-URI. No indication
887 The method specified in the Request-Line is not allowed for the resource
888 identified by the Request-URI. The response MUST include an Allow header
900 -L/--location option to follow the redirection.
916 The first part is to avoid having clear-text passwords in the command line
918 avoided by using the "-K" option to tell curl to read parameters from a file
920 attempt to "hide" the given password by blanking out the option - this
932 SSL-based alternatives HTTPS and FTPS.
949 Microsoft Windows libraries at build-time to provide this functionality.
983 use -k. This does however enable man-in-the-middle attacks.
987 might for example be self-signed. You then correct this problem by obtaining
994 4.13 Why is curl -R on Windows one hour off?
997 any modern compiler that allows for a 64-bit curl_off_t type. For older
1001 https://www.codeproject.com/Articles/1144/Beating-the-Daylight-Savings-Time-bug-and-getting
1020 curl supports FTPS (sometimes known as FTP-SSL) both implicit and explicit
1027 To use explicit FTPS, you use a FTP:// URL and the --ftp-ssl option (or one
1035 very tiny request body) use the "Expect: 100-continue" header. This header
1045 any header, using -H / CURLOPT_HTTPHEADER, or by forcing it to use HTTP 1.0.
1047 4.17 Non-functional connect timeouts
1056 https://support.microsoft.com/en-us/kb/175523/en-us
1058 Also, even on non-Windows systems there may run a firewall or anti-virus
1097 re-routed around the physical problem through another path.
1103 for it to detect an issue. The curl option --keepalive-time enables
1104 keep-alive support in the TCP/IP stack which makes it periodically probe the
1111 on its own. --speed-limit/--speed-time will abort if the data transfer rate
1112 falls too low, and --connect-timeout and --max-time can be used to put an
1115 A libcurl-using application running in a known physical environment (e.g.
1119 OS-specific mechanism, then signaling libcurl to abort (see also item 5.13).
1121 4.20 curl doesn't return error for HTTP non-200 responses!
1123 Correct. Unless you use -f (--fail).
1138 as errors and thus return a non-zero value and possibly show an error
1139 message, curl has a dedicated option for that: -f (CURLOPT_FAILONERROR in
1142 You can also use the -w option and the variable %{response_code} to extract
1152 convert it over to the binary header-compressed HTTP/2 style. The actual
1158 5.1 Is libcurl thread-safe?
1162 We have written the libcurl code specifically adjusted for multi-threaded
1163 programs. libcurl will use thread-safe functions instead of non-safe ones if
1197 mem->memory = (char *)realloc(mem->memory, mem->size + realsize + 1);
1198 if (mem->memory) {
1199 memcpy(&(mem->memory[mem->size]), ptr, realsize);
1200 mem->size += realsize;
1201 mem->memory[mem->size] = 0;
1228 5.6 What about Keep-Alive or persistent connections?
1232 connections for all URLs specified on the same command line/config file, and
1252 add -DCURL_STATICLIB to your CFLAGS. Otherwise the linker will look for
1263 -----------------------------------------------------------
1272 with a shared version of libcurl and your run-time linker (ld.so) couldn't
1280 * Add an option to the linker command line that specify the hard-coded path
1281 the run-time linker should check for the lib (usually -R)
1286 * Adjust the system's config to check for libs in the directory where you've
1294 of them is picked at build-time and will be used unconditionally. Thus, if
1298 - The non-IPv6 resolver that can use one of four different host name resolve
1301 A - gethostbyname()
1302 B - gethostbyname_r() with 3 arguments
1303 C - gethostbyname_r() with 5 arguments
1304 D - gethostbyname_r() with 6 arguments
1306 - The IPv6-resolver that uses getaddrinfo()
1308 - The c-ares based name resolver that uses the c-ares library for resolves.
1311 - The threaded resolver (default option on Windows). It uses:
1313 A - gethostbyname() on plain IPv4 hosts
1314 B - getaddrinfo() on IPv6 enabled hosts
1316 Also note that libcurl never resolves or reverse-lookups addresses given as
1321 libcurl provides a default built-in write function that writes received data
1333 imply sending IP packets with a made-up source address, and then you normally
1340 Also note that on many networks NATs or other IP-munging techniques are used
1359 5.14 Using C++ non-static functions for callbacks?
1369 // Call non-static member function.
1370 static_cast<YourClass*>(f)->nonStaticFunction();
1384 The follow-up question tends to be how is a program supposed to parse the
1387 return data in a machine-readable format that can be parsed for type. The
1392 and NLST tend to hide unix-style hidden files (those that start with a dot)
1393 by default so you need to do "LIST -a" or similar to see them.
1395 Example - List only directories.
1398 curl -s ftp.funet.fi/pub/ -X MLSD | \
1399 perl -lne 'print if s/(?:^|;)type=dir;[^ ]+ (.+)$/$1/'
1401 curl -s ftp.kernel.org/pub/linux/kernel/ | \
1402 perl -lne 'print if s/^d[-rwx]{9}(?: +[^ ]+){7} (.+)$/$1/'
1409 5.16 I want a different time-out!
1415 libcurl offers many more ways to time-out operations. A common alternative
1420 The most flexible way is by writing your own time-out logic and using
1428 internet protocol server. libcurl is only a client-side library. For server
1431 server for. And there are really good stand-alone ones that have been tested
1440 sure you use the non-blocking API which will do transfers asynchronously -
1468 6.2 I have a closed-source program, can I use the libcurl library?
1507 Next to none. All you need to adhere to is the MIT-style license (stated in
1533 The module for PHP that makes it possible for PHP programs to access curl-
1548 Yes - at least in PHP version 4.3.8 and later (this has been known to not
1553 transfer. This will make libcurl re-use the same connection if it can.