diff options
-rw-r--r-- | CHANGES | 15 | ||||
-rw-r--r-- | docs/RESOURCES | 2 | ||||
-rw-r--r-- | include/curl/curl.h | 2 | ||||
-rw-r--r-- | src/hugehelp.c | 214 | ||||
-rw-r--r-- | src/version.h | 2 |
5 files changed, 192 insertions, 43 deletions
@@ -6,6 +6,8 @@ History of Changes +Version 7.5.2 + Daniel (4 January 2001) - As Kevin P Roth suggested, I've added text to the man page for every command line option and what happens when you specify that option more than @@ -15,6 +17,16 @@ Daniel (4 January 2001) odd reasons I can't build curl properly outside though. It has to do with curl's dependencies on libcurl... +- Cut off all older (dated 1999 and earlier) CHANGES entries from this file. + The older piece is named CHANGES.0 and is added to the CVS repository in + case anyone would need it. + +- I added another file 'CVS-INFO' to the CVS. It contains information about + files in the CVS that aren't included in release archives and how to build + curl when you get the sources off CVS. + +- Updated CONTRIBUTE and FAQ due to the new license. + Daniel (3 January 2001) - Renamed README.libcurl to LIBCURL @@ -30,7 +42,8 @@ Daniel (30 December 2000) Daniel (19 December 2000) - Added file desrciptor and FILE handle leak detection to the memdebug system - and thus I found and removed a file handler leakage in the ftp parts. + and thus I found and removed a file descriptor leakage in the ftp parts + that happened when you did PORTed downloads. - Added an include <stdio.h> in <curl/curl.h> since it uses FILE *. diff --git a/docs/RESOURCES b/docs/RESOURCES index 1a62b2af3..78f4b8e6f 100644 --- a/docs/RESOURCES +++ b/docs/RESOURCES @@ -100,7 +100,7 @@ Similar Tools swebget - http://www.uni-hildesheim.de/~smol0075/swebget/ - Kermit - http://www.columbia.edu/kermit/ftpclient/ + Kermit - http://www.columbia.edu/kermit/ftpclient Related Software ---------------- diff --git a/include/curl/curl.h b/include/curl/curl.h index 332194c88..6a9ff6ae8 100644 --- a/include/curl/curl.h +++ b/include/curl/curl.h @@ -454,7 +454,7 @@ char *curl_getenv(char *variable); char *curl_version(void); /* This is the version number */ -#define LIBCURL_VERSION "7.5.2-pre1" +#define LIBCURL_VERSION "7.5.2" #define LIBCURL_VERSION_NUM 0x070502 /* linked-list structure for the CURLOPT_QUOTE option (and other) */ diff --git a/src/hugehelp.c b/src/hugehelp.c index e8f1b5a4a..d43a2e2a8 100644 --- a/src/hugehelp.c +++ b/src/hugehelp.c @@ -53,12 +53,19 @@ puts ( " append to the target file instead of overwriting it. If\n" " the file doesn't exist, it will be created.\n" "\n" +" If this option is used twice, the second one will dis\n" +" able append mode again.\n" +"\n" " -A/--user-agent <agent string>\n" -" (HTTP) Specify the User-Agent string to send to the\n" -" HTTP server. Some badly done CGIs fail if its not set\n" -" to \"Mozilla/4.0\". To encode blanks in the string, sur\n" -" round the string with single quote marks. This can\n" +" (HTTP) Specify the User-Agent string to send to the\n" +" HTTP server. Some badly done CGIs fail if its not set\n" +" to \"Mozilla/4.0\". To encode blanks in the string,\n" +" surround the string with single quote marks. This can\n" " also be set with the -H/--header flag of course.\n" +"\n" +" If this option is used more than once, the last one\n" +" will be the one to be used.\n" +"\n" " -b/--cookie <name=data>\n" " (HTTP) Pass the data to the HTTP server as a cookie. It\n" " is supposedly the data previously received from the\n" @@ -80,12 +87,18 @@ puts ( " To store cookies, save the HTTP headers to a file using\n" " -D/--dump-header!\n" "\n" +" If this option is used more than once, the last one\n" +" will be the one to be used.\n" +"\n" " -B/--use-ascii\n" -" Use ASCII transfer when getting an FTP file or LDAP\n" -" info. For FTP, this can also be enforced by using an\n" -" URL that ends with \";type=A\". This option causes data\n" +" Use ASCII transfer when getting an FTP file or LDAP\n" +" info. For FTP, this can also be enforced by using an\n" +" URL that ends with \";type=A\". This option causes data\n" " sent to stdout to be in text mode for win32 systems.\n" "\n" +" If this option is used twice, the second one will dis\n" +" able ASCII usage.\n" +"\n" " -c/--continue\n" " Deprecated. Use '-C -' instead. Continue/Resume a pre\n" " vious file transfer. This instructs curl to continue\n" @@ -107,17 +120,20 @@ puts ( " HTTP resume is only possible with HTTP/1.1 or later\n" " servers.\n" "\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" +"\n" " -d/--data <data>\n" -" (HTTP) Sends the specified data in a POST request to\n" -" the HTTP server. Note that the data is sent exactly as\n" -" specified with no extra processing (with all newlines\n" -" cut off). The data is expected to be \"url-encoded\".\n" -" This will cause curl to pass the data to the server\n" +" (HTTP) Sends the specified data in a POST request to\n" +" the HTTP server. Note that the data is sent exactly as\n" +" specified with no extra processing (with all newlines\n" +" cut off). The data is expected to be \"url-encoded\".\n" +" This will cause curl to pass the data to the server\n" " using the content-type application/x-www-form-urlen\n" " coded. Compare to -F. If more than one -d/--data option\n" " is used on the same command line, the data pieces spec\n" -" ified will be merged together with a separating &-let\n" -" ter. Thus, using '-d name=daniel -d skill=lousy' would\n" +" ified will be merged together with a separating &-let\n" +" ter. Thus, using '-d name=daniel -d skill=lousy' would\n" " generate a post chunk that looks like\n" "\n" " If you start the data with the letter @, the rest\n" @@ -131,9 +147,15 @@ puts ( "\n" " -d/--data is the same as --data-ascii.\n" "\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" +"\n" " --data-ascii <data>\n" " (HTTP) This is an alias for the -d/--data option.\n" "\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" +"\n" " --data-binary <data>\n" " (HTTP) This posts data in a similar manner as --data-\n" " ascii does, although when using this option the entire\n" @@ -141,6 +163,9 @@ puts ( " to post a binary file without the strip-newlines fea\n" " ture of the --data-ascii option, this is for you.\n" "\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" +"\n" " -D/--dump-header <file>\n" " (HTTP/FTP) Write the HTTP headers to this file. Write\n" " the FTP file info to this file if -I/--head is used.\n" @@ -150,6 +175,9 @@ puts ( " could then be read in a second curl invoke by using the\n" " -b/--cookie option!\n" "\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" +"\n" " -e/--referer <URL>\n" " (HTTP) Sends the \"Referer Page\" information to the HTTP\n" " server. This can also be set with the -H/--header flag\n" @@ -159,6 +187,9 @@ puts ( " header. The \";auto\" string can be used alone, even if\n" " you don't set an initial referer.\n" "\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" +"\n" " -E/--cert <certificate[:password]>\n" " (HTTPS) Tells curl to use the specified certificate\n" " file when getting a file with HTTPS. The certificate\n" @@ -167,21 +198,30 @@ puts ( " that this certificate is the private key and the pri\n" " vate certificate concatenated!\n" "\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" +"\n" " --cacert <CA certificate>\n" " (HTTPS) Tells curl to use the specified certificate\n" " file to verify the peer. The certificate must be in PEM\n" " format.\n" "\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" +"\n" " -f/--fail\n" " (HTTP) Fail silently (no output at all) on server\n" " errors. This is mostly done like this to better enable\n" " scripts etc to better deal with failed attempts. In\n" " normal cases when a HTTP server fails to deliver a doc\n" " ument, it returns a HTML document stating so (which\n" -" often also describes why and more). This flag will pre\n" -" vent curl from outputting that and fail silently\n" +" often also describes why and more). This flag will\n" +" prevent curl from outputting that and fail silently\n" " instead.\n" "\n" +" If this option is used twice, the second will again\n" +" disable silent failure.\n" +"\n" " -F/--form <name=content>\n" " (HTTP) This lets curl emulate a filled in form in which\n" " a user has pressed the submit button. This causes curl\n" @@ -202,8 +242,12 @@ puts ( "\n" " To read the file's content from stdin insted of a file,\n" " use - where the file name should've been. This goes for\n" +); + puts( " both @ and < constructs.\n" "\n" +" This option can be used multiple times.\n" +"\n" " -h/--help\n" " Usage help.\n" "\n" @@ -214,16 +258,20 @@ puts ( " as one of the internal ones curl would use, your exter\n" " nally set header will be used instead of the internal\n" " one. This allows you to make even trickier stuff than\n" -" curl would normally do. You should not replace\n" -" internally set headers without knowing perfectly well\n" -" what you're doing. Replacing an internal header with\n" -" one without content on the right side of the colon will\n" +" curl would normally do. You should not replace inter\n" +" nally set headers without knowing perfectly well what\n" +" you're doing. Replacing an internal header with one\n" +" without content on the right side of the colon will\n" " prevent that header from appearing.\n" "\n" +" This option can be used multiple times.\n" +"\n" " -i/--include\n" " (HTTP) Include the HTTP-header in the output. The HTTP-\n" " header includes things like server-name, date of the\n" " document, HTTP-version and more...\n" +" If this option is used twice, the second will again\n" +" disable header include.\n" "\n" " --interface <name>\n" " Perform an operation using a specified interface. You\n" @@ -231,8 +279,9 @@ puts ( " example could look like:\n" "\n" " curl --interface eth0:1 http://www.netscape.com/\n" -); - puts( +"\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" "\n" " -I/--head\n" " (HTTP/FTP) Fetch the HTTP-header only! HTTP-servers\n" @@ -240,6 +289,9 @@ puts ( " but the header of a document. When used on a FTP file,\n" " curl displays the file size only.\n" "\n" +" If this option is used twice, the second will again\n" +" disable header only.\n" +"\n" " --krb4 <level>\n" " (FTP) Enable kerberos4 authentication and use. The\n" " level must be entered and should be one of 'clear',\n" @@ -247,17 +299,25 @@ puts ( " level that is not one of these, 'private' will instead\n" " be used.\n" "\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" +"\n" " -K/--config <config file>\n" " Specify which config file to read curl arguments from.\n" " The config file is a text file in which command line\n" " arguments can be written which then will be used as if\n" -" they were written on the actual command line. If the\n" -" first column of a config line is a '#' character, the\n" -" rest of the line will be treated as a comment.\n" +" they were written on the actual command line. Options\n" +" and their parameters must be specified on the same con\n" +" fig file line. If the parameter is to contain white\n" +" spaces, the parameter must be inclosed within quotes.\n" +" If the first column of a config line is a '#' charac\n" +" ter, the rest of the line will be treated as a comment.\n" "\n" " Specify the filename as '-' to make curl read the file\n" " from stdin.\n" "\n" +" This option can be used multiple times.\n" +"\n" " -l/--list-only\n" " (FTP) When listing an FTP directory, this switch forces\n" " a name-only view. Especially useful if you want to\n" @@ -265,6 +325,9 @@ puts ( " the normal directory view doesn't use a standard look\n" " or format.\n" "\n" +" If this option is used twice, the second will again\n" +" disable list only.\n" +"\n" " -L/--location\n" " (HTTP/HTTPS) If the server reports that the requested\n" " page has a different location (indicated with the\n" @@ -275,6 +338,9 @@ puts ( " curl will automatically switch to GET after the initial\n" " POST has been done.\n" "\n" +" If this option is used twice, the second will again\n" +" disable location following.\n" +"\n" " -m/--max-time <seconds>\n" " Maximum time in seconds that you allow the whole opera\n" " tion to take. This is useful for preventing your batch\n" @@ -282,6 +348,9 @@ puts ( " links going down. This doesn't work fully in win32\n" " systems.\n" "\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" +"\n" " -M/--manual\n" " Manual. Display the huge help text.\n" "\n" @@ -301,6 +370,9 @@ puts ( "\n" " machine host.domain.com login myself password secret\n" "\n" +" If this option is used twice, the second will again\n" +" disable netrc usage.\n" +"\n" " -N/--no-buffer\n" " Disables the buffering of the output stream. In normal\n" " work situations, curl will use a standard buffered out\n" @@ -309,6 +381,9 @@ puts ( " the data arrives. Using this option will disable that\n" " buffering.\n" "\n" +" If this option is used twice, the second will again\n" +" switch on buffering.\n" +"\n" " -o/--output <file>\n" " Write output to <file> instead of stdout. If you are\n" " using {} or [] to fetch multiple documents, you can use\n" @@ -321,6 +396,10 @@ puts ( " or use several variables like:\n" "\n" " curl http://{site,host}.host[1-5].com -o \"#1_#2\"\n" +"\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" +"\n" " -O/--remote-name\n" " Write output to a local file named like the remote file\n" " we get. (Only the file part of the remote file is used,\n" @@ -335,6 +414,9 @@ puts ( " nect to the remote port number curl wants to tunnel\n" " through to.\n" "\n" +" If this option is used twice, the second will again\n" +" disable proxy tunnel.\n" +"\n" " -P/--ftpport <address>\n" " (FTP) Reverses the initiator/listener roles when con\n" " necting with ftp. This switch makes Curl use the PORT\n" @@ -342,7 +424,6 @@ puts ( " server to connect to the client's specified address and\n" " port, while PASV asks the server for an ip address and\n" " port to connect to. <address> should be one of:\n" -"\n" " interface i.e \"eth0\" to specify which interface's IP\n" " address you want to use (Unix only)\n" "\n" @@ -354,6 +435,9 @@ puts ( " - (any single-letter string) to make it pick\n" " the machine's default\n" "\n" +" If this option is used serveral times, the last one will be\n" +" used.\n" +"\n" " -q If used as the first parameter on the command line, the\n" " $HOME/.curlrc file will not be read and used as a con\n" " fig file.\n" @@ -370,6 +454,8 @@ puts ( " returns failure for one of the commands, the entire\n" " operation will be aborted.\n" "\n" +" This option can be used multiple times.\n" +"\n" " -r/--range <range>\n" " (HTTP/FTP) Retrieve a byte range (i.e a partial docu\n" " ment) from a HTTP/1.1 or FTP server. Ranges can be\n" @@ -403,14 +489,25 @@ puts ( " stop' (optionally with one of the numbers omitted). It\n" " depends on the non-RFC command SIZE.\n" "\n" +" If this option is used serveral times, the last one will be\n" +" used.\n" +"\n" " -s/--silent\n" " Silent mode. Don't show progress meter or error mes\n" " sages. Makes Curl mute.\n" "\n" +" If this option is used twice, the second will again\n" +" disable mute.\n" +"\n" " -S/--show-error\n" " When used with -s it makes curl show error message if\n" " it fails.\n" "\n" +" If this option is used twice, the second will again\n" +); + puts( +" disable show error.\n" +"\n" " -t/--upload\n" " Deprecated. Use '-T -' instead. Transfer the stdin\n" " data to the specified file. Curl will read everything\n" @@ -429,21 +526,33 @@ puts ( " to fail. If this is used on a http(s) server, the PUT\n" " command will be used.\n" "\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" +"\n" " -u/--user <user:password>\n" " Specify user and password to use when fetching. See\n" " README.curl for detailed examples of how to use this.\n" " If no password is specified, curl will ask for it\n" " interactively.\n" "\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" +"\n" " -U/--proxy-user <user:password>\n" " Specify user and password to use for Proxy authentica\n" " tion. If no password is specified, curl will ask for it\n" " interactively.\n" "\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" +"\n" " --url <URL>\n" " Set the URL to fetch. This option is mostly handy when\n" " you wanna specify URL in a config file.\n" "\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" +"\n" " -v/--verbose\n" " Makes the fetching more verbose/talkative. Mostly\n" " usable for debugging. Lines starting with '>' means\n" @@ -451,6 +560,9 @@ puts ( " is hidden in normal cases and lines starting with '*'\n" " means additional info provided by curl.\n" "\n" +" If this option is used twice, the second will again\n" +" disable verbose.\n" +"\n" " -V/--version\n" " Displays the full version of curl, libcurl and other\n" " 3rd party libraries linked with the executable.\n" @@ -469,14 +581,11 @@ puts ( " %{variable_name} and to output a normal % you just\n" " write them like %%. You can output a newline by using\n" " \\n, a carrige return with \\r and a tab space with \\t.\n" -"\n" " NOTE: The %-letter is a special letter in the\n" " win32-environment, where all occurrences of % must be\n" " doubled when using this option.\n" "\n" " Available variables are at this point:\n" -); - puts( "\n" " url_effective The URL that was fetched last. This is\n" " mostly meaningful if you've told curl to\n" @@ -523,11 +632,16 @@ puts ( "\n" " speed_upload The average upload speed that curl mea\n" " sured for the complete upload.\n" +" If this option is used serveral times, the last one will be\n" +" used.\n" "\n" " -x/--proxy <proxyhost[:port]>\n" " Use specified proxy. If the port number is not speci\n" " fied, it is assumed at port 1080.\n" "\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" +"\n" " -X/--request <command>\n" " (HTTP) Specifies a custom request to use when communi\n" " cating with the HTTP server. The specified request\n" @@ -537,17 +651,26 @@ puts ( " (FTP) Specifies a custom FTP command to use instead of\n" " LIST when doing file lists with ftp.\n" "\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" +"\n" " -y/--speed-time <time>\n" " If a download is slower than speed-limit bytes per sec\n" " ond during a speed-time period, the download gets\n" " aborted. If speed-time is used, the default speed-limit\n" " will be 1 unless set with -y.\n" "\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" +"\n" " -Y/--speed-limit <speed>\n" " If a download is slower than this given speed, in bytes\n" " per second, for speed-time seconds it gets aborted.\n" " speed-time is set with -Y and is 30 if not set.\n" "\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" +"\n" " -z/--time-cond <date expression>\n" " (HTTP) Request to get a file that has been modified\n" " later than the given time and date, or one that has\n" @@ -561,6 +684,8 @@ puts ( " request for a document that is older than the given\n" " date/time, default is a document that is newer than the\n" " specified date/time.\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" "\n" " -3/--sslv3\n" " (HTTPS) Forces curl to use SSL version 3 when negotiat\n" @@ -574,15 +699,25 @@ puts ( " Make curl display progress information as a progress\n" " bar instead of the default statistics.\n" "\n" +" If this option is used twice, the second will again\n" +" disable the progress bar.\n" +"\n" " --crlf\n" " (FTP) Convert LF to CRLF in upload. Useful for MVS\n" " (OS/390).\n" "\n" +" If this option is used twice, the second will again\n" +" disable crlf converting.\n" +"\n" " --stderr <file>\n" " Redirect all writes to stderr to the specified file\n" " instead. If the file name is a plain '-', it is instead\n" " written to stdout. This option has no point when you're\n" " using a shell with decent redirecting capabilities.\n" +"\n" +" If this option is used serveral times, the last one\n" +" will be used.\n" +"\n" "FILES\n" " ~/.curlrc\n" " Default config file.\n" @@ -599,7 +734,6 @@ puts ( "\n" " GOPHER_PROXY [protocol://]<host>[:port]\n" " Sets proxy server to use for GOPHER.\n" -"\n" " ALL_PROXY [protocol://]<host>[:port]\n" " Sets proxy server to use if no protocol-specific proxy\n" " is set.\n" @@ -634,12 +768,15 @@ puts ( " resolved.\n" "\n" " 7 Failed to connect to host.\n" +"\n" " 8 FTP weird server reply. The server sent data curl\n" " couldn't parse.\n" "\n" " 9 FTP access denied. The server denied login.\n" "\n" " 10 FTP user/password incorrect. Either one or both were\n" +); + puts( " not accepted by the server.\n" "\n" " 11 FTP weird PASS reply. Curl couldn't parse the reply\n" @@ -650,7 +787,6 @@ puts ( "\n" " 13 FTP weird PASV reply, Curl couldn't parse the reply\n" " sent to the PASV request.\n" -"\n" " 14 FTP weird 227 format. Curl couldn't parse the 227-line\n" " the server sent.\n" "\n" @@ -685,6 +821,7 @@ puts ( " operation.\n" "\n" " 26 Read error. Various reading problems.\n" +"\n" " 27 Out of memory. A memory allocation request failed.\n" "\n" " 28 Operation timeout. The specified time-out period was\n" @@ -702,7 +839,6 @@ puts ( " 959.\n" "\n" " 33 HTTP range error. The range \"command\" didn't work.\n" -"\n" " 34 HTTP post error. Internal post-request generation\n" " error.\n" "\n" @@ -736,6 +872,7 @@ puts ( "\n" " 46 Bad password entered. An error was signalled when the\n" " password was entered.\n" +"\n" " 47 Too many redirects. When following redirects, curl hit\n" " the maximum amount.\n" "\n" @@ -766,8 +903,6 @@ puts ( " - Douglas E. Wegscheid <wegscd@whirlpool.com>\n" " - Mark Butler <butlerm@xmission.com>\n" " - Eric Thelin <eric@generation-i.com>\n" -); - puts( " - Marc Boucher <marc@mbsi.ca>\n" " - Greg Onufer <Greg.Onufer@Eng.Sun.COM>\n" " - Doug Kaufman <dkaufman@rahul.net>\n" @@ -807,7 +942,6 @@ puts ( "\n" "WWW\n" " http://curl.haxx.se\n" -"\n" "FTP\n" " ftp://ftp.sunet.se/pub/www/utilities/curl/\n" "\n" @@ -980,6 +1114,8 @@ puts ( " receives in order to let the user see all client-server interaction.\n" "\n" " curl -v ftp://ftp.upload.com/\n" +); + puts( "\n" "DETAILED INFORMATION\n" "\n" @@ -1076,8 +1212,6 @@ puts ( "\n" " curl -F \"file=@cooltext.txt\" -F \"yourname=Daniel\" \\\n" " -F \"filedescription=Cool text file with cool text inside\" \\\n" -); - puts( " http://www.post.com/postit.cgi\n" "\n" " So, to send two files in one post you can do it in two ways:\n" @@ -1227,6 +1361,8 @@ puts ( " readable. You can separate the options and the parameter with spaces, or\n" " with = or :. Comments can be used within the file. If the first letter on a\n" " line is a '#'-letter the rest of the line is treated as a comment.\n" +); + puts( "\n" " If you want the parameter to contain spaces, you must inclose the entire\n" " parameter within double quotes (\"). Within those quotes, you specify a\n" @@ -1347,8 +1483,6 @@ puts ( " curl https://www.secure-site.com\n" "\n" " Curl is also capable of using your personal certificates to get/post files\n" -); - puts( " from sites that require valid certificates. The only drawback is that the\n" " certificate needs to be in PEM-format. PEM is a standard and open format to\n" " store certificates with, but it is not used by the most commonly used\n" @@ -1519,6 +1653,8 @@ puts ( " authentication is used.\n" "\n" " A very simple .netrc file could look something like:\n" +); + puts( "\n" " machine curl.haxx.se login iamdaniel password mysecret\n" "\n" diff --git a/src/version.h b/src/version.h index f3a9fa1be..579daa88e 100644 --- a/src/version.h +++ b/src/version.h @@ -1,3 +1,3 @@ #define CURL_NAME "curl" -#define CURL_VERSION "7.5.2-pre1" +#define CURL_VERSION "7.5.2" #define CURL_ID CURL_NAME " " CURL_VERSION " (" OS ") " |