text: /* NEVER EVER edit this manually, fix the mkhelp script instead! */ #include <stdio.h> void hugehelp(void) { puts ( " _ _ ____ _ \n" " Project ___| | | | _ \\| | \n" " / __| | | | |_) | | \n" " | (__| |_| | _ <| |___ \n" " \\___|\\___/|_| \\_\\_____|\n" "NAME\n" " curl - transfer a URL\n" "\n" "SYNOPSIS\n" " curl [options] [URL...]\n" "\n" "DESCRIPTION\n" " curl is a client to get documents/files from or send docu-\n" " ments to a server, using any of the supported protocols\n" ); puts( " (HTTP, HTTPS, FTP, GOPHER, DICT, TELNET, LDAP or FILE).\n" " The command is designed to work without user interaction\n" " or any kind of interactivity.\n" "\n" " curl offers a busload of useful tricks like proxy support,\n" " user authentication, ftp upload, HTTP post, SSL (https:)\n" " connections, cookies, file transfer resume and more.\n" "\n" "URL\n" " The URL syntax is protocol dependent. You'll find a\n" " detailed description in RFC 2396.\n" "\n" ); puts( " You can specify multiple URLs or parts of URLs by writing\n" " part sets within braces as in:\n" "\n" " http://site.{one,two,three}.com\n" "\n" " or you can get sequences of alphanumeric series by using\n" " [] as in:\n" "\n" " ftp://ftp.numericals.com/file[1-100].txt\n" " ftp://ftp.numericals.com/file[001-100].txt (with lead-\n" " ing zeros)\n" " ftp://ftp.letters.com/file[a-z].txt\n" "\n" " It is possible to specify up to 9 sets or series for a\n" ); puts( " URL, but no nesting is supported at the moment:\n" "\n" " http://www.any.org/archive[1996-1999]/vol-\n" " ume[1-4]part{a,b,c,index}.html\n" "\n" " You can specify any amount of URLs on the command line.\n" " They will be fetched in a sequential manner in the speci-\n" " fied order.\n" "\n" " Curl will attempt to re-use connections for multiple file\n" " transfers, so that getting many files from the same server\n" " will not do multiple connects / handshakes. This improves\n" ); puts( " speed. Of course this is only done on files specified on a\n" " single command line and cannot be used between separate\n" " curl invokes.\n" "\n" "OPTIONS\n" " -a/--append\n" " (FTP) When used in a ftp upload, this will tell\n" " curl to append to the target file instead of over-\n" " writing it. If the file doesn't exist, it will be\n" " created.\n" "\n" " If this option is used twice, the second one will\n" ); puts( " disable 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\n" " set to \"Mozilla/4.0\". To encode blanks in the\n" " string, surround the string with single quote\n" " marks. This can also be set with the -H/--header\n" " flag of course.\n" "\n" ); puts( " If this option is set more than once, the last one\n" " will be the one that's used.\n" "\n" " -b/--cookie <name=data>\n" " (HTTP) Pass the data to the HTTP server as a\n" " cookie. It is supposedly the data previously\n" " received from the server in a \"Set-Cookie:\" line.\n" " The data should be in the format \"NAME1=VALUE1;\n" " NAME2=VALUE2\".\n" "\n" ); puts( " If no '=' letter is used in the line, it is treated\n" " as a filename to use to read previously stored\n" " cookie lines from, which should be used in this\n" " session if they match. Using this method also acti-\n" " vates the \"cookie parser\" which will make curl\n" " record incoming cookies too, which may be handy if\n" " you're using this in combination with the\n" ); puts( " -L/--location option. The file format of the file\n" " to read cookies from should be plain HTTP headers\n" " or the Netscape/Mozilla cookie file format.\n" "\n" " NOTE that the file specified with -b/--cookie is\n" " only used as input. No cookies will be stored in\n" " the file. To store cookies, save the HTTP headers\n" " to a file using -D/--dump-header!\n" "\n" ); puts( " If this option is set more than once, the last one\n" " will be the one that's 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\n" " an URL that ends with \";type=A\". This option causes\n" " data sent to stdout to be in text mode for win32\n" " systems.\n" "\n" " If this option is used twice, the second one will\n" ); puts( " disable ASCII usage.\n" " --ciphers <list of ciphers>\n" " (SSL) Specifies which ciphers to use in the connec-\n" " tion. The list of ciphers must be using valid\n" " ciphers. Read up on SSL cipher list details on this\n" " URL: http://www.openssl.org/docs/apps/ciphers.html\n" " (Option added in curl 7.9)\n" "\n" " If this option is used several times, the last one\n" " will override the others.\n" "\n" ); puts( " --connect-timeout <seconds>\n" " Maximum time in seconds that you allow the connec-\n" " tion to the server to take. This only limits the\n" " connection phase, once curl has connected this\n" " option is of no more use. See also the --max-time\n" " option.\n" "\n" " If this option is used several times, the last one\n" " will be used.\n" "\n" " -c/--cookie-jar <file name>\n" ); puts( " Specify to which file you want curl to write all\n" " cookies after a completed operation. Curl writes\n" " all cookies previously read from a specified file\n" " as well as all cookies received from remote\n" " server(s). If no cookies are known, no file will be\n" " written. The file will be written using the\n" " Netscape cookie file format. If you set the file\n" ); puts( " name to a single dash, \"-\", the cookies will be\n" " written to stdout. (Option added in curl 7.9)\n" "\n" " If this option is used several times, the last\n" " specfied file name will be used.\n" "\n" " -C/--continue-at <offset>\n" " Continue/Resume a previous file transfer at the\n" " given offset. The given offset is the exact number\n" " of bytes that will be skipped counted from the\n" ); puts( " beginning of the source file before it is trans-\n" " fered to the destination. If used with uploads,\n" " the ftp server command SIZE will not be used by\n" " curl.\n" "\n" " Use \"-C -\" to tell curl to automatically find out\n" " where/how to resume the transfer. It then uses the\n" " given output/input files to figure that out.\n" "\n" " If this option is used several times, the last one\n" ); puts( " will be used.\n" "\n" " --crlf (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" " -d/--data <data>\n" " (HTTP) Sends the specified data in a POST request\n" " to the HTTP server, in a way that can emulate as if\n" " a user has filled in a HTML form and pressed the\n" ); puts( " submit button. Note that the data is sent exactly\n" " as specified with no extra processing (with all\n" " newlines cut off). The data is expected to be\n" " \"url-encoded\". This will cause curl to pass the\n" " data to the server using the content-type applica-\n" " tion/x-www-form-urlencoded. Compare to -F. If more\n" " than one -d/--data option is used on the same com-\n" ); puts( " mand line, the data pieces specified will be merged\n" " together with a separating &-letter. Thus, using\n" " '-d name=daniel -d skill=lousy' would generate a\n" " post chunk that looks like\n" " 'name=daniel&skill=lousy'.\n" "\n" " If you start the data with the letter @, the rest\n" " should be a file name to read the data from, or -\n" ); puts( " if you want curl to read the data from stdin. The\n" " contents of the file must already be url-encoded.\n" " Multiple files can also be specified. Posting data\n" " from a file named 'foobar' would thus be done with\n" " \"--data @foobar\".\n" "\n" " To post data purely binary, you should instead use\n" " the --data-binary option.\n" "\n" " -d/--data is the same as --data-ascii.\n" "\n" ); puts( " If this option is used several times, the ones fol-\n" " lowing the first will append data.\n" "\n" " --data-ascii <data>\n" " (HTTP) This is an alias for the -d/--data option.\n" "\n" " If this option is used several times, the ones fol-\n" " lowing the first will append data.\n" "\n" " --data-binary <data>\n" " (HTTP) This posts data in a similar manner as\n" " --data-ascii does, although when using this option\n" ); puts( " the entire context of the posted data is kept as-\n" " is. If you want to post a binary file without the\n" " strip-newlines feature of the --data-ascii option,\n" " this is for you.\n" "\n" " If this option is used several times, the ones fol-\n" " lowing the first will append data.\n" "\n" " --disable-epsv\n" " (FTP) Tell curl to disable the use of the EPSV\n" " command when doing passive FTP downloads. Curl will\n" ); puts( " normally always first attempt to use EPSV before\n" " PASV, but with this option, it will not try using\n" " EPSV.\n" "\n" " If this option is used several times, each occur-\n" " rence will toggle this on/off.\n" "\n" " -D/--dump-header <file>\n" " Write the protocol headers to the specified file.\n" "\n" " This option is handy to use when you want to store\n" " the cookies that a HTTP site sends to you. The\n" ); puts( " cookies could then be read in a second curl invoke\n" " by using the -b/--cookie option!\n" "\n" " When used on FTP, the ftp server response lines are\n" " considered being \"headers\" and thus are saved\n" " there.\n" "\n" " If this option is used several times, the last one\n" " will be used.\n" "\n" " -e/--referer <URL>\n" " (HTTP) Sends the \"Referer Page\" information to the\n" ); puts( " HTTP server. This can also be set with the\n" " -H/--header flag of course. When used with\n" " -L/--location you can append \";auto\" to the referer\n" " URL to make curl automatically set the previous URL\n" " when it follows a Location: header. The \";auto\"\n" " string can be used alone, even if you don't set an\n" " initial referer.\n" "\n" " If this option is used several times, the last one\n" ); puts( " will be used.\n" "\n" " --environment\n" " (RISC OS ONLY) Sets a range of environment vari-\n" " ables, using the names the -w option supports, to\n" " easier allow extraction of useful information after\n" " having run curl.\n" "\n" " If this option is used several times, each occur-\n" " rence will toggle this on/off.\n" "\n" " --egd-file <file>\n" " (HTTPS) Specify the path name to the Entropy Gath-\n" ); puts( " ering Daemon socket. The socket is used to seed the\n" " random engine for SSL connections. See also the\n" " --random-file option.\n" "\n" " -E/--cert <certificate[:password]>\n" " (HTTPS) Tells curl to use the specified certificate\n" " file when getting a file with HTTPS. The\n" " certificate must be in PEM format. If the optional\n" " password isn't specified, it will be queried for on\n" ); puts( " the terminal. Note that this certificate is the\n" " private key and the private certificate concate-\n" " nated!\n" "\n" " If this option is used several 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 file may contain mul-\n" " tiple CA certificates. The certificate(s) must be\n" ); puts( " in PEM format.\n" "\n" " If this option is used several times, the last one\n" " will be used.\n" "\n" " --capath <CA certificate directory>\n" " (HTTPS) Tells curl to use the specified certificate\n" " directory to verify the peer. The certificates must\n" " be in PEM format, and the directory must have been\n" " processed using the c_rehash utility supplied with\n" " openssl. Certificate directories are not supported\n" ); puts( " under Windows (because c_rehash uses symbolink\n" " links to create them). Using --capath can allow\n" " curl to make https connections much more effi-\n" " ciently than using --cacert if the --cacert file\n" " contains many CA certificates.\n" "\n" " If this option is used several times, the last one\n" " will be used.\n" "\n" " -f/--fail\n" " (HTTP) Fail silently (no output at all) on server\n" ); puts( " errors. This is mostly done like this to better\n" " enable scripts etc to better deal with failed\n" " attempts. In normal cases when a HTTP server fails\n" " to deliver a document, it returns a HTML document\n" " stating so (which often also describes why and\n" " more). This flag will prevent curl from outputting\n" " that and fail silently instead.\n" "\n" ); puts( " 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\n" " which a user has pressed the submit button. This\n" " causes curl to POST data using the content-type\n" " multipart/form-data according to RFC1867. This\n" " enables uploading of binary files etc. To force the\n" ); puts( " 'content' part to be be a file, prefix the file\n" " name with an @ sign. To just get the content part\n" " from a file, prefix the file name with the letter\n" " <. The difference between @ and < is then that @\n" " makes a file get attached in the post as a file\n" " upload, while the < makes a text field and just get\n" " the contents for that text field from a file.\n" "\n" ); puts( " Example, to send your password file to the server,\n" " where 'password' is the name of the form-field to\n" " which /etc/passwd will be the input:\n" "\n" " curl -F password=@/etc/passwd www.mypasswords.com\n" "\n" " To read the file's content from stdin insted of a\n" " file, use - where the file name should've been.\n" " This goes for both @ and < constructs.\n" "\n" " This option can be used multiple times.\n" "\n" ); puts( " -g/--globoff\n" " This option switches off the \"URL globbing parser\".\n" " When you set this option, you can specify URLs that\n" " contain the letters {}[] without having them being\n" " interpreted by curl itself. Note that these letters\n" " are not normal legal URL contents but they should\n" " be encoded according to the URI standard.\n" "\n" " -G/--get\n" " When used, this option will make all data specified\n" ); puts( " with -d/--data or --data-binary to be used in a\n" " HTTP GET request instead of the POST request that\n" " otherwise would be used. The data will be appended\n" " to the URL with a '?' separator. (Option added in\n" " curl 7.9)\n" "\n" " If used in combination with -I, the POST data will\n" " instead be appended to the URL with a HEAD request.\n" "\n" " If used multiple times, nothing special happens.\n" "\n" ); puts( " -h/--help\n" " Usage help.\n" "\n" " -H/--header <header>\n" " (HTTP) Extra header to use when getting a web page.\n" " You may specify any number of extra headers. Note\n" " that if you should add a custom header that has the\n" " same name as one of the internal ones curl would\n" " use, your externally set header will be used\n" " instead of the internal one. This allows you to\n" ); puts( " make even trickier stuff than curl would normally\n" " do. You should not replace internally set headers\n" " without knowing perfectly well what you're doing.\n" " Replacing an internal header with one without con-\n" " tent on the right side of the colon will prevent\n" " that header from appearing.\n" "\n" " This option can be used multiple times to\n" " add/replace/remove multiple headers.\n" "\n" ); puts( " -i/--include\n" " (HTTP) Include the HTTP-header in the output. The\n" " HTTP-header includes things like server-name, date\n" " of the document, HTTP-version and more...\n" "\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.\n" " You can enter interface name, IP address or host\n" ); puts( " name. An example could look like:\n" "\n" " curl --interface eth0:1 http://www.netscape.com/\n" "\n" " If this option is used several times, the last one\n" " will be used.\n" "\n" " -I/--head\n" " (HTTP/FTP) Fetch the HTTP-header only! HTTP-servers\n" " feature the command HEAD which this uses to get\n" " nothing but the header of a document. When used on\n" " a FTP file, curl displays the file size only.\n" "\n" ); puts( " If this option is used twice, the second will again\n" " disable header only.\n" "\n" " -j/--junk-session-cookies\n" " (HTTP) When curl is told to read cookies from a\n" " given file, this option will make it discard all\n" " \"session cookies\". This will basicly have the same\n" " effect as if a new session is started. Typical\n" " browsers always discard session cookies when\n" ); puts( " they're closed down. (Added in 7.9.7)\n" "\n" " If this option is used several times, each occur-\n" " rence will toggle this on/off.\n" "\n" " -k/--insecure\n" " (SSL) This option explicitly allows curl to perform\n" " \"insecure\" SSL connections and transfers. Starting\n" " with curl 7.10, all SSL connections will be\n" " attempted to be made secure by using the CA cer-\n" ); puts( " tificate bundle installed by default. This makes\n" " all connections considered \"insecure\" to fail\n" " unless -k/--insecure is used.\n" "\n" " If this option is used twice, the second time will\n" " again disable it.\n" " --krb4 <level>\n" " (FTP) Enable kerberos4 authentication and use. The\n" " level must be entered and should be one of 'clear',\n" " 'safe', 'confidential' or 'private'. Should you use\n" ); puts( " a level that is not one of these, 'private' will\n" " instead be used.\n" "\n" " If this option is used several times, the last one\n" " will be used.\n" "\n" " -K/--config <config file>\n" " Specify which config file to read curl arguments\n" " from. The config file is a text file in which com-\n" " mand line arguments can be written which then will\n" " be used as if they were written on the actual com-\n" ); puts( " mand line. Options and their parameters must be\n" " specified on the same config file line. If the\n" " parameter is to contain white spaces, the parameter\n" " must be inclosed within quotes. If the first col-\n" " umn of a config line is a '#' character, the rest\n" " of the line will be treated as a comment.\n" "\n" " Specify the filename as '-' to make curl read the\n" " file from stdin.\n" "\n" ); puts( " Note that to be able to specify a URL in the config\n" " file, you need to specify it using the --url\n" " option, and not by simply writing the URL on its\n" " own line. So, it could look similar to this:\n" "\n" " url = \"http://curl.haxx.se/docs/\"\n" "\n" " This option can be used multiple times.\n" "\n" " --limit-rate <speed>\n" " Specify the maximum transfer rate you want curl to\n" ); puts( " use. This feature is useful if you have a limited\n" " pipe and you'd prefer you have your transfer not\n" " use your entire bandwidth.\n" "\n" " The given speed is measured in bytes/second, unless\n" " a suffix is appended. Appending 'k' or 'K' will\n" " count the number as kilobytes, 'm' or M' makes it\n" " megabytes while 'g' or 'G' makes it gigabytes.\n" " Examples: 200K, 3m and 1G.\n" "\n" ); puts( " This option was introduced in curl 7.10.\n" "\n" " If this option is used several times, the last one\n" " will be used.\n" "\n" " -l/--list-only\n" " (FTP) When listing an FTP directory, this switch\n" " forces a name-only view. Especially useful if you\n" " want to machine-parse the contents of an FTP direc-\n" " tory since the normal directory view doesn't use a\n" " standard look or format.\n" "\n" ); puts( " This option causes an FTP NLST command to be sent.\n" " Some FTP servers list only files in their response\n" " to NLST; they do not include subdirectories and\n" " symbolic links.\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\n" " requested page has a different location (indicated\n" ); puts( " with the header line Location:) this flag will let\n" " curl attempt to reattempt the get on the new place.\n" " If used together with -i or -I, headers from all\n" " requested pages will be shown. If this flag is used\n" " when making a HTTP POST, curl will automatically\n" " switch to GET after the initial POST has been done.\n" "\n" " If this option is used twice, the second will again\n" ); puts( " disable location following.\n" "\n" " -m/--max-time <seconds>\n" " Maximum time in seconds that you allow the whole\n" " operation to take. This is useful for preventing\n" " your batch jobs from hanging for hours due to slow\n" " networks or links going down. This doesn't work\n" " fully in win32 systems. See also the --connect-\n" " timeout option.\n" "\n" ); puts( " If this option is used several times, the last one\n" " will be used.\n" "\n" " -M/--manual\n" " Manual. Display the huge help text.\n" "\n" " -n/--netrc\n" " Makes curl scan the .netrc file in the user's home\n" " directory for login name and password. This is typ-\n" " ically used for ftp on unix. If used with http,\n" " curl will enable user authentication. See netrc(4)\n" ); puts( " or ftp(1) for details on the file format. Curl will\n" " not complain if that file hasn't the right permis-\n" " sions (it should not be world nor group readable).\n" " The environment variable \"HOME\" is used to find the\n" " home directory.\n" "\n" " A quick and very simple example of how to setup a\n" " .netrc to allow curl to ftp to the machine\n" " host.domain.com with user name 'myself' and pass-\n" ); puts( " word 'secret' should look similar to:\n" " machine host.domain.com login myself password\n" " 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\n" " normal work situations, curl will use a standard\n" " buffered output stream that will have the effect\n" ); puts( " that it will output the data in chunks, not neces-\n" " sarily exactly when the data arrives. Using this\n" " option will disable that 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\n" " are using {} or [] to fetch multiple documents, you\n" ); puts( " can use '#' followed by a number in the <file>\n" " specifier. That variable will be replaced with the\n" " current string for the URL being fetched. Like in:\n" "\n" " curl http://{one,two}.site.com -o \"file_#1.txt\"\n" "\n" " or use several variables like:\n" "\n" " curl http://{site,host}.host[1-5].com -o \"#1_#2\"\n" "\n" " You may use this option as many times as you have\n" " number of URLs.\n" "\n" " -O/--remote-name\n" ); puts( " Write output to a local file named like the remote\n" " file we get. (Only the file part of the remote file\n" " is used, the path is cut off.)\n" "\n" " You may use this option as many times as you have\n" " number of URLs.\n" "\n" " -p/--proxytunnel\n" " When an HTTP proxy is used, this option will cause\n" " non-HTTP protocols to attempt to tunnel through the\n" " proxy instead of merely using it to do HTTP-like\n" ); puts( " operations. The tunnel approach is made with the\n" " HTTP proxy CONNECT request and requires that the\n" " proxy allows direct connect to the remote port num-\n" " ber curl wants to tunnel through to.\n" "\n" " If this option is used twice, the second will again\n" " disable proxy tunnel.\n" " -P/--ftpport <address>\n" " (FTP) Reverses the initiator/listener roles when\n" ); puts( " connecting with ftp. This switch makes Curl use the\n" " PORT command instead of PASV. In practice, PORT\n" " tells the server to connect to the client's speci-\n" " fied address and port, while PASV asks the server\n" " for an ip address and port to connect to. <address>\n" " should be one of:\n" "\n" " interface i.e \"eth0\" to specify which interface's\n" " IP address you want to use (Unix only)\n" "\n" ); puts( " IP address i.e \"192.168.10.1\" to specify exact IP\n" " number\n" "\n" " host name i.e \"my.host.domain\" to specify machine\n" "\n" " - (any single-letter string) to make it\n" " pick the machine's default\n" "\n" " If this option is used several times, the last one will be\n" " used.\n" "\n" " -q If used as the first parameter on the command line,\n" ); puts( " the $HOME/.curlrc file will not be read and used as\n" " a config file.\n" "\n" " -Q/--quote <comand>\n" " (FTP) Send an arbitrary command to the remote FTP\n" " server, by using the QUOTE command of the server.\n" " Not all servers support this command, and the set\n" " of QUOTE commands are server specific! Quote com-\n" " mands are sent BEFORE the transfer is taking place.\n" ); puts( " To make commands take place after a successful\n" " transfer, prefix them with a dash '-'. You may\n" " specify any amount of commands to be run before and\n" " after the transfer. If the server returns failure\n" " for one of the commands, the entire operation will\n" " be aborted.\n" "\n" " This option can be used multiple times.\n" "\n" " --random-file <file>\n" ); puts( " (HTTPS) Specify the path name to file containing\n" " what will be considered as random data. The data is\n" " used to seed the random engine for SSL connections.\n" " See also the --edg-file option.\n" "\n" " -r/--range <range>\n" " (HTTP/FTP) Retrieve a byte range (i.e a partial\n" " document) from a HTTP/1.1 or FTP server. Ranges can\n" " be specified in a number of ways.\n" "\n" ); puts( " 0-499 specifies the first 500 bytes\n" " 500-999 specifies the second 500 bytes\n" "\n" " -500 specifies the last 500 bytes\n" "\n" " 9500 specifies the bytes from offset 9500 and\n" " forward\n" "\n" " 0-0,-1 specifies the first and last byte\n" " only(*)(H)\n" "\n" " 500-700,600-799\n" " specifies 300 bytes from offset 500(H)\n" "\n" " 100-199,500-599\n" ); puts( " specifies two separate 100 bytes\n" " ranges(*)(H)\n" "\n" " (*) = NOTE that this will cause the server to reply with a\n" " multipart response!\n" "\n" " You should also be aware that many HTTP/1.1 servers do not\n" " have this feature enabled, so that when you attempt to get\n" " a range, you'll instead get the whole document.\n" "\n" " FTP range downloads only support the simple syntax 'start-\n" ); 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 several times, the last one will be\n" " used.\n" "\n" " -R/--remote-time\n" " When used, this will make libcurl attempt to figure\n" " out the timestamp of the remote file, and if that\n" " is available make the local file get that same\n" " timestamp.\n" "\n" ); puts( " If this option is used twice, the second time dis-\n" " ables this again.\n" "\n" " -s/--silent\n" " Silent mode. Don't show progress meter or error\n" " messages. 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\n" " if it fails.\n" "\n" ); puts( " If this option is used twice, the second will again\n" " disable show error.\n" " --stderr <file>\n" " Redirect all writes to stderr to the specified file\n" " instead. If the file name is a plain '-', it is\n" " instead written to stdout. This option has no point\n" " when you're using a shell with decent redirecting\n" " capabilities.\n" "\n" " If this option is used several times, the last one\n" ); puts( " will be used.\n" "\n" " -t/--telnet-option <OPT=val>\n" " Pass options to the telnet protocol. Supported\n" " options are:\n" "\n" " TTYPE=<term> Sets the terminal type.\n" "\n" " XDISPLOC=<X display> Sets the X display location.\n" "\n" " NEW_ENV=<var,val> Sets an environment variable.\n" "\n" " -T/--upload-file <file>\n" " This transfers the specified local file to the\n" ); puts( " remote URL. If there is no file part in the speci-\n" " fied URL, Curl will append the local file name.\n" " NOTE that you must use a trailing / on the last\n" " directory to really prove to Curl that there is no\n" " file name or curl will think that your last direc-\n" " tory name is the remote file name to use. That will\n" " most likely cause the upload operation to fail. If\n" ); puts( " this is used on a http(s) server, the PUT command\n" " will be used.\n" "\n" " Use the file name \"-\" (a single dash) to use stdin\n" " instead of a given file.\n" "\n" " If this option is used several times, the last one\n" " will be used.\n" "\n" " --trace <file>\n" " Enables a full trace dump of all incoming and out-\n" " going data, including descriptive information, to\n" ); puts( " the given output file. Use \"-\" as filename to have\n" " the output sent to stdout.\n" "\n" " If this option is used several times, the last one\n" " will be used. (Added in curl 7.9.7)\n" "\n" " --trace-ascii <file>\n" " Enables a full trace dump of all incoming and out-\n" " going data, including descriptive information, to\n" " the given output file. Use \"-\" as filename to have\n" " the output sent to stdout.\n" "\n" ); puts( " This is very similar to --trace, but leaves out the\n" " hex part and only shows the ASCII part of the dump.\n" " It makes smaller output that might be easier to\n" " read for untrained humans.\n" "\n" " If this option is used several times, the last one\n" " will be used. (Added in curl 7.9.7)\n" "\n" " -u/--user <user:password>\n" " Specify user and password to use when fetching. See\n" ); puts( " README.curl for detailed examples of how to use\n" " this. If no password is specified, curl will ask\n" " for it interactively.\n" "\n" " If this option is used several times, the last one\n" " will be used.\n" "\n" " -U/--proxy-user <user:password>\n" " Specify user and password to use for Proxy authen-\n" " tication. If no password is specified, curl will\n" " ask for it interactively.\n" "\n" ); puts( " If this option is used several times, the last one\n" " will be used.\n" "\n" " --url <URL>\n" " Specify a URL to fetch. This option is mostly handy\n" " when you want to specify URL(s) in a config file.\n" "\n" " This option may be used any number of times. To\n" " control where this URL is written, use the -o or\n" " the -O options.\n" "\n" " -v/--verbose\n" " Makes the fetching more verbose/talkative. Mostly\n" ); puts( " usable for debugging. Lines starting with '>' means\n" " data sent by curl, '<' means data received by curl\n" " that is hidden in normal cases and lines starting\n" " with '*' means additional info provided by curl.\n" "\n" " Note that if you want to see HTTP headers in the\n" " output, -i/--include might be option you're looking\n" " for.\n" "\n" " If this option is used twice, the second will again\n" ); puts( " disable verbose.\n" "\n" " -V/--version\n" " Displays the full version of curl, libcurl and\n" " other 3rd party libraries linked with the exe-\n" " cutable.\n" "\n" " -w/--write-out <format>\n" " Defines what to display after a completed and suc-\n" " cessful operation. The format is a string that may\n" " contain plain text mixed with any number of vari-\n" ); puts( " ables. The string can be specified as \"string\", to\n" " get read from a particular file you specify it\n" " \"@filename\" and to tell curl to read the format\n" " from stdin you write \"@-\".\n" "\n" " The variables present in the output format will be\n" " substituted by the value or text that curl thinks\n" " fit, as described below. All variables are speci-\n" ); puts( " fied like %{variable_name} and to output a normal %\n" " you just write them like %%. You can output a new-\n" " line by using \\n, a carriage return with \\r and a\n" " tab space with \\t.\n" "\n" " NOTE: The %-letter is a special letter in the\n" " win32-environment, where all occurrences of % must\n" " be doubled when using this option.\n" "\n" " Available variables are at this point:\n" "\n" ); puts( " url_effective The URL that was fetched last. This\n" " is mostly meaningful if you've told\n" " curl to follow location: headers.\n" "\n" " http_code The numerical code that was found in\n" " the last retrieved HTTP(S) page.\n" "\n" " time_total The total time, in seconds, that the\n" " full operation lasted. The time will\n" ); puts( " be displayed with millisecond reso-\n" " lution.\n" "\n" " time_namelookup\n" " The time, in seconds, it took from\n" " the start until the name resolving\n" " was completed.\n" "\n" " time_connect The time, in seconds, it took from\n" " the start until the connect to the\n" ); puts( " remote host (or proxy) was com-\n" " pleted.\n" "\n" " time_pretransfer\n" " The time, in seconds, it took from\n" " the start until the file transfer is\n" " just about to begin. This includes\n" " all pre-transfer commands and nego-\n" " tiations that are specific to the\n" ); puts( " particular protocol(s) involved.\n" "\n" " time_starttransfer\n" " The time, in seconds, it took from\n" " the start until the first byte is\n" " just about to be transfered. This\n" " includes time_pretransfer and also\n" " the time the server needs to calcu-\n" " late the result.\n" "\n" ); puts( " size_download The total amount of bytes that were\n" " downloaded.\n" "\n" " size_upload The total amount of bytes that were\n" " uploaded.\n" "\n" " size_header The total amount of bytes of the\n" " downloaded headers.\n" "\n" " size_request The total amount of bytes that were\n" " sent in the HTTP request.\n" "\n" ); puts( " speed_download The average download speed that curl\n" " measured for the complete download.\n" "\n" " speed_upload The average upload speed that curl\n" " measured for the complete upload.\n" "\n" " content_type The Content-Type of the requested\n" " document, if there was any. (Added\n" " in 7.9.5)\n" "\n" ); puts( " If this option is used several times, the last one will be\n" " used.\n" "\n" " -x/--proxy <proxyhost[:port]>\n" " Use specified HTTP proxy. If the port number is not\n" " specified, it is assumed at port 1080.\n" "\n" " This option overrides existing environment vari-\n" " ables that sets proxy to use. If there's an envi-\n" " ronment variable setting a proxy, you can set proxy\n" " to \"\" to override it.\n" "\n" ); puts( " Note that all operations that are performed over a\n" " HTTP proxy will transparantly be converted to HTTP.\n" " It means that certain protocol specific operations\n" " might not be available. This is not the case if you\n" " can tunnel through the proxy, as done with the\n" " -p/--proxytunnel option.\n" "\n" " If this option is used several times, the last one\n" " will be used.\n" "\n" " -X/--request <command>\n" ); puts( " (HTTP) Specifies a custom request to use when com-\n" " municating with the HTTP server. The specified\n" " request will be used instead of the standard GET.\n" " Read the HTTP 1.1 specification for details and\n" " explanations.\n" " (FTP) Specifies a custom FTP command to use instead\n" " of LIST when doing file lists with ftp.\n" "\n" " If this option is used several times, the last one\n" ); puts( " will be used.\n" "\n" " -y/--speed-time <time>\n" " If a download is slower than speed-limit bytes per\n" " second during a speed-time period, the download\n" " gets aborted. If speed-time is used, the default\n" " speed-limit will be 1 unless set with -y.\n" "\n" " This option controls transfers and thus will not\n" " affect slow connects etc. If this is a concern for\n" " you, try the --connect-timeout option.\n" "\n" ); puts( " If this option is used several 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\n" " bytes per second, for speed-time seconds it gets\n" " aborted. speed-time is set with -Y and is 30 if not\n" " set.\n" "\n" " If this option is used several times, the last one\n" " will be used.\n" "\n" " -z/--time-cond <date expression>\n" ); puts( " (HTTP) Request to get a file that has been modified\n" " later than the given time and date, or one that has\n" " been modified before that time. The date expression\n" " can be all sorts of date strings or if it doesn't\n" " match any internal ones, it tries to get the time\n" " from a given file name instead! See the GNU date(1)\n" " or curl_getdate(3) man pages for date expression\n" " details.\n" "\n" ); puts( " Start the date expression with a dash (-) to make\n" " it request for a document that is older than the\n" " given date/time, default is a document that is\n" " newer than the specified date/time.\n" "\n" " If this option is used several times, the last one\n" " will be used.\n" "\n" " -Z/--max-redirs <num>\n" " Set maximum number of redirection-followings\n" ); puts( " allowed. If -L/--location is used, this option can\n" " be used to prevent curl from following redirections\n" " \"in absurdum\".\n" "\n" " If this option is used several times, the last one\n" " will be used.\n" " -3/--sslv3\n" " (HTTPS) Forces curl to use SSL version 3 when nego-\n" " tiating with a remote SSL server.\n" "\n" " -2/--sslv2\n" " (HTTPS) Forces curl to use SSL version 2 when nego-\n" ); puts( " tiating with a remote SSL server.\n" "\n" " -0/--http1.0\n" " (HTTP) Forces curl to issue its requests using HTTP\n" " 1.0 instead of using its internally preferred: HTTP\n" " 1.1.\n" "\n" " -#/--progress-bar\n" " Make curl display progress information as a\n" " progress 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" "FILES\n" ); puts( " ~/.curlrc\n" " Default config file.\n" "\n" "ENVIRONMENT\n" " http_proxy [protocol://]<host>[:port]\n" " Sets proxy server to use for HTTP.\n" "\n" " HTTPS_PROXY [protocol://]<host>[:port]\n" " Sets proxy server to use for HTTPS.\n" "\n" " FTP_PROXY [protocol://]<host>[:port]\n" " Sets proxy server to use for FTP.\n" "\n" " GOPHER_PROXY [protocol://]<host>[:port]\n" " Sets proxy server to use for GOPHER.\n" "\n" " ALL_PROXY [protocol://]<host>[:port]\n" ); puts( " Sets proxy server to use if no protocol-specific\n" " proxy is set.\n" "\n" " NO_PROXY <comma-separated list of hosts>\n" " list of host names that shouldn't go through any\n" " proxy. If set to a asterisk\n" "\n" "EXIT CODES\n" " There exists a bunch of different error codes and their\n" " corresponding error messages that may appear during bad\n" " conditions. At the time of this writing, the exit codes\n" " are:\n" "\n" ); puts( " 1 Unsupported protocol. This build of curl has no\n" " support for this protocol.\n" " 2 Failed to initialize.\n" "\n" " 3 URL malformat. The syntax was not correct.\n" "\n" " 4 URL user malformatted. The user-part of the URL\n" " syntax was not correct.\n" "\n" " 5 Couldn't resolve proxy. The given proxy host could\n" " not be resolved.\n" "\n" " 6 Couldn't resolve host. The given remote host was\n" " not resolved.\n" "\n" ); puts( " 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\n" " were not accepted by the server.\n" "\n" " 11 FTP weird PASS reply. Curl couldn't parse the reply\n" " sent to the PASS request.\n" "\n" " 12 FTP weird USER reply. Curl couldn't parse the reply\n" ); puts( " sent to the USER request.\n" "\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\n" " 227-line the server sent.\n" "\n" " 15 FTP can't get host. Couldn't resolve the host IP we\n" " got in the 227-line.\n" "\n" " 16 FTP can't reconnect. Couldn't connect to the host\n" " we got in the 227-line.\n" "\n" ); puts( " 17 FTP couldn't set binary. Couldn't change transfer\n" " method to binary.\n" "\n" " 18 Partial file. Only a part of the file was trans-\n" " fered.\n" "\n" " 19 FTP couldn't RETR file. The RETR command failed.\n" "\n" " 20 FTP write error. The transfer was reported bad by\n" " the server.\n" "\n" " 21 FTP quote error. A quote command returned error\n" " from the server.\n" ); puts( " 22 HTTP not found. The requested page was not found.\n" " This return code only appears if --fail is used.\n" "\n" " 23 Write error. Curl couldn't write data to a local\n" " filesystem or similar.\n" "\n" " 24 Malformat user. User name badly specified.\n" "\n" " 25 FTP couldn't STOR file. The server denied the STOR\n" " operation.\n" "\n" " 26 Read error. Various reading problems.\n" "\n" ); puts( " 27 Out of memory. A memory allocation request failed.\n" "\n" " 28 Operation timeout. The specified time-out period\n" " was reached according to the conditions.\n" "\n" " 29 FTP couldn't set ASCII. The server returned an\n" " unknown reply.\n" "\n" " 30 FTP PORT failed. The PORT command failed.\n" "\n" " 31 FTP couldn't use REST. The REST command failed.\n" "\n" " 32 FTP couldn't use SIZE. The SIZE command failed. The\n" ); puts( " command is an extension to the original FTP spec\n" " RFC 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" " 35 SSL connect error. The SSL handshaking failed.\n" "\n" " 36 FTP bad download resume. Couldn't continue an ear-\n" " lier aborted download.\n" "\n" " 37 FILE couldn't read file. Failed to open the file.\n" ); puts( " Permissions?\n" "\n" " 38 LDAP cannot bind. LDAP bind operation failed.\n" "\n" " 39 LDAP search failed.\n" "\n" " 40 Library not found. The LDAP library was not found.\n" "\n" " 41 Function not found. A required LDAP function was\n" " not found.\n" "\n" " 42 Aborted by callback. An application told curl to\n" " abort the operation.\n" " 43 Internal error. A function was called with a bad\n" " parameter.\n" "\n" ); puts( " 44 Internal error. A function was called in a bad\n" " order.\n" "\n" " 45 Interface error. A specified outgoing interface\n" " could not be used.\n" "\n" " 46 Bad password entered. An error was signaled when\n" " the password was entered.\n" "\n" " 47 Too many redirects. When following redirects, curl\n" " hit the maximum amount.\n" "\n" " 48 Unknown TELNET option specified.\n" "\n" " 49 Malformed telnet option.\n" "\n" ); puts( " 51 The remote peer's SSL certificate wasn't ok\n" "\n" " 52 The server didn't reply anything, which here is\n" " considered an error.\n" "\n" " 53 SSL crypto engine not found\n" "\n" " 54 Cannot set SSL crypto engine as default\n" "\n" " 55 Failed sending network data\n" "\n" " 56 Failure in receiving network data\n" "\n" " 57 Share is in use (internal error)\n" "\n" " 58 Problem with the local certificate\n" "\n" " 59 Couldn't use specified SSL cipher\n" "\n" ); puts( " 60 Problem with the CA cert (path? permission?)\n" "\n" " 61 Unrecognized transfer encoding\n" "\n" " XX There will appear more error codes here in future\n" " releases. The existing ones are meant to never\n" " change.\n" "\n" "BUGS\n" " If you do find bugs, mail them to email@example.com.\n" "\n" "AUTHORS / CONTRIBUTORS\n" " Daniel Stenberg is the main author, but the whole list of\n" " contributors is found in the separate THANKS file.\n" "WWW\n" ); puts( " http://curl.haxx.se\n" "\n" "FTP\n" " ftp://ftp.sunet.se/pub/www/utilities/curl/\n" "\n" "SEE ALSO\n" " ftp(1), wget(1), snarf(1)\n" "\n" "LATEST VERSION\n" "\n" " You always find news about what's going on as well as the latest versions\n" " from the curl web pages, located at:\n" "\n" " http://curl.haxx.se\n" "\n" "SIMPLE USAGE\n" "\n" " Get the main page from netscape's web-server:\n" "\n" " curl http://www.netscape.com/\n" "\n" " Get the root README file from funet's ftp-server:\n" "\n" " curl ftp://ftp.funet.fi/README\n" "\n" ); puts( " Get a web page from a server using port 8000:\n" "\n" " curl http://www.weirdserver.com:8000/\n" "\n" " Get a list of the root directory of an FTP site:\n" "\n" " curl ftp://cool.haxx.se/\n" "\n" " Get a gopher document from funet's gopher server:\n" "\n" " curl gopher://gopher.funet.fi\n" "\n" " Get the definition of curl from a dictionary:\n" "\n" " curl dict://dict.org/m:curl\n" "\n" " Fetch two documents at once:\n" "\n" " curl ftp://cool.haxx.se/ http://www.weirdserver.com:8000/\n" "\n" "DOWNLOAD TO A FILE\n" "\n" ); puts( " Get a web page and store in a local file:\n" "\n" " curl -o thatpage.html http://www.netscape.com/\n" "\n" " Get a web page and store in a local file, make the local file get the name\n" " of the remote document (if no file name part is specified in the URL, this\n" " will fail):\n" "\n" " curl -O http://www.netscape.com/index.html\n" "\n" " Fetch two files and store them with their remote names:\n" "\n" " curl -O www.haxx.se/index.html -O curl.haxx.se/download.html\n" "\n" "USING PASSWORDS\n" "\n" " FTP\n" "\n" ); puts( " To ftp files using name+passwd, include them in the URL like:\n" "\n" " curl ftp://name:firstname.lastname@example.com:port/full/path/to/file\n" "\n" " or specify them with the -u flag like\n" "\n" " curl -u name:passwd ftp://machine.domain:port/full/path/to/file\n" "\n" " HTTP\n" "\n" " The HTTP URL doesn't support user and password in the URL string. Curl\n" " does support that anyway to provide a ftp-style interface and thus you can\n" " pick a file like:\n" "\n" " curl http://name:email@example.com/full/path/to/file\n" "\n" ); puts( " or specify user and password separately like in\n" "\n" " curl -u name:passwd http://machine.domain/full/path/to/file\n" "\n" " NOTE! Since HTTP URLs don't support user and password, you can't use that\n" " style when using Curl via a proxy. You _must_ use the -u style fetch\n" " during such circumstances.\n" "\n" " HTTPS\n" "\n" " Probably most commonly used with private certificates, as explained below.\n" "\n" " GOPHER\n" "\n" " Curl features no password support for gopher.\n" "\n" "PROXY\n" "\n" ); puts( " Get an ftp file using a proxy named my-proxy that uses port 888:\n" "\n" " curl -x my-proxy:888 ftp://ftp.leachsite.com/README\n" "\n" " Get a file from a HTTP server that requires user and password, using the\n" " same proxy as above:\n" "\n" " curl -u user:passwd -x my-proxy:888 http://www.get.this/\n" "\n" " Some proxies require special authentication. Specify by using -U as above:\n" "\n" " curl -U user:passwd -x my-proxy:888 http://www.get.this/\n" "\n" ); puts( " See also the environment variables Curl support that offer further proxy\n" " control.\n" "\n" "RANGES\n" "\n" " With HTTP 1.1 byte-ranges were introduced. Using this, a client can request\n" " to get only one or more subparts of a specified document. Curl supports\n" " this with the -r flag.\n" "\n" " Get the first 100 bytes of a document:\n" "\n" " curl -r 0-99 http://www.get.this/\n" "\n" " Get the last 500 bytes of a document:\n" "\n" " curl -r -500 http://www.get.this/\n" "\n" ); puts( " Curl also supports simple ranges for FTP files as well. Then you can only\n" " specify start and stop position.\n" "\n" " Get the first 100 bytes of a document using FTP:\n" "\n" " curl -r 0-99 ftp://www.get.this/README \n" "\n" "UPLOADING\n" "\n" " FTP\n" "\n" " Upload all data on stdin to a specified ftp site:\n" "\n" " curl -T - ftp://ftp.upload.com/myfile\n" "\n" " Upload data from a specified file, login with user and password:\n" "\n" " curl -T uploadfile -u user:passwd ftp://ftp.upload.com/myfile\n" "\n" ); puts( " Upload a local file to the remote site, and use the local file name remote\n" " too:\n" " \n" " curl -T uploadfile -u user:passwd ftp://ftp.upload.com/\n" "\n" " Upload a local file to get appended to the remote file using ftp:\n" "\n" " curl -T localfile -a ftp://ftp.upload.com/remotefile\n" "\n" " Curl also supports ftp upload through a proxy, but only if the proxy is\n" " configured to allow that kind of tunneling. If it does, you can run curl in\n" " a fashion similar to:\n" "\n" ); puts( " curl --proxytunnel -x proxy:port -T localfile ftp.upload.com\n" "\n" " HTTP\n" "\n" " Upload all data on stdin to a specified http site:\n" "\n" " curl -T - http://www.upload.com/myfile\n" "\n" " Note that the http server must've been configured to accept PUT before this\n" " can be done successfully.\n" "\n" " For other ways to do http data upload, see the POST section below.\n" "\n" "VERBOSE / DEBUG\n" "\n" " If curl fails where it isn't supposed to, if the servers don't let you\n" ); puts( " in, if you can't understand the responses: use the -v flag to get VERBOSE\n" " fetching. Curl will output lots of info and all data it sends and\n" " receives in order to let the user see all client-server interaction.\n" "\n" " curl -v ftp://ftp.upload.com/\n" "\n" "DETAILED INFORMATION\n" "\n" " Different protocols provide different ways of getting detailed information\n" " about specific files/documents. To get curl to show detailed information\n" ); puts( " about a single file, you should use -I/--head option. It displays all\n" " available info on a single file for HTTP and FTP. The HTTP information is a\n" " lot more extensive.\n" "\n" " For HTTP, you can get the header information (the same as -I would show)\n" " shown before the data by using -i/--include. Curl understands the\n" " -D/--dump-header option when getting files from both FTP and HTTP, and it\n" " will then store the headers in the specified file.\n" "\n" ); puts( " Store the HTTP headers in a separate file (headers.txt in the example):\n" "\n" " curl --dump-header headers.txt curl.haxx.se\n" "\n" " Note that headers stored in a separate file can be very useful at a later\n" " time if you want curl to use cookies sent by the server. More about that in\n" " the cookies section.\n" "\n" "POST (HTTP)\n" "\n" " It's easy to post data using curl. This is done using the -d <data>\n" " option. The post data must be urlencoded.\n" "\n" " Post a simple \"name\" and \"phone\" guestbook.\n" "\n" ); puts( " curl -d \"name=Rafael%20Sagula&phone=3320780\" \\\n" " http://www.where.com/guest.cgi\n" "\n" " How to post a form with curl, lesson #1:\n" "\n" " Dig out all the <input> tags in the form that you want to fill in. (There's\n" " a perl program called formfind.pl on the curl site that helps with this).\n" "\n" " If there's a \"normal\" post, you use -d to post. -d takes a full \"post\n" " string\", which is in the format\n" "\n" " <variable1>=<data1>&<variable2>=<data2>&...\n" "\n" ); puts( " The 'variable' names are the names set with \"name=\" in the <input> tags, and\n" " the data is the contents you want to fill in for the inputs. The data *must*\n" " be properly URL encoded. That means you replace space with + and that you\n" " write weird letters with %XX where XX is the hexadecimal representation of\n" " the letter's ASCII code.\n" "\n" " Example:\n" "\n" " (page located at http://www.formpost.com/getthis/\n" "\n" " <form action=\"post.cgi\" method=\"post\">\n" " <input name=user size=10>\n" ); puts( " <input name=pass type=password size=10>\n" " <input name=id type=hidden value=\"blablabla\">\n" " <input name=ding value=\"submit\">\n" " </form>\n" "\n" " We want to enter user 'foobar' with password '12345'.\n" "\n" " To post to this, you enter a curl command line like:\n" "\n" " curl -d \"user=foobar&pass=12345&id=blablabla&dig=submit\" (continues)\n" " http://www.formpost.com/getthis/post.cgi\n" "\n" "\n" " While -d uses the application/x-www-form-urlencoded mime-type, generally\n" ); puts( " understood by CGI's and similar, curl also supports the more capable\n" " multipart/form-data type. This latter type supports things like file upload.\n" "\n" " -F accepts parameters like -F \"name=contents\". If you want the contents to\n" " be read from a file, use <@filename> as contents. When specifying a file,\n" " you can also specify the file content type by appending ';type=<mime type>'\n" " to the file name. You can also post the contents of several files in one\n" ); puts( " field. For example, the field name 'coolfiles' is used to send three files,\n" " with different content types using the following syntax:\n" "\n" " curl -F \"email@example.com;type=image/gif,fil2.txt,fil3.html\" \\\n" " http://www.post.com/postit.cgi\n" "\n" " If the content-type is not specified, curl will try to guess from the file\n" " extension (it only knows a few), or use the previously specified type (from\n" " an earlier file if several files are specified in a list) or else it will\n" ); puts( " using the default type 'text/plain'.\n" "\n" " Emulate a fill-in form with -F. Let's say you fill in three fields in a\n" " form. One field is a file name which to post, one field is your name and one\n" " field is a file description. We want to post the file we have written named\n" " \"cooltext.txt\". To let curl do the posting of this data instead of your\n" " favourite browser, you have to read the HTML source of the form page and\n" " find the names of the input fields. In our example, the input field names\n" ); puts( " are 'file', 'yourname' and 'filedescription'.\n" "\n" " curl -F \"firstname.lastname@example.com\" -F \"yourname=Daniel\" \\\n" " -F \"filedescription=Cool text file with cool text inside\" \\\n" " http://www.post.com/postit.cgi\n" "\n" " To send two files in one post you can do it in two ways:\n" "\n" " 1. Send multiple files in a single \"field\" with a single field name:\n" " \n" " curl -F \"email@example.com,cat.gif\" \n" " \n" " 2. Send two fields with two field names: \n" "\n" ); puts( " curl -F \"email@example.com\" -F \"firstname.lastname@example.com\" \n" "\n" "REFERRER\n" "\n" " A HTTP request has the option to include information about which address\n" " that referred to actual page. Curl allows you to specify the\n" " referrer to be used on the command line. It is especially useful to\n" " fool or trick stupid servers or CGI scripts that rely on that information\n" " being available or contain certain data.\n" "\n" " curl -e www.coolsite.com http://www.showme.com/\n" "\n" ); puts( " NOTE: The referer field is defined in the HTTP spec to be a full URL.\n" "\n" "USER AGENT\n" "\n" " A HTTP request has the option to include information about the browser\n" " that generated the request. Curl allows it to be specified on the command\n" " line. It is especially useful to fool or trick stupid servers or CGI\n" " scripts that only accept certain browsers.\n" "\n" " Example:\n" "\n" " curl -A 'Mozilla/3.0 (Win95; I)' http://www.nationsbank.com/\n" "\n" " Other common strings:\n" ); puts( " 'Mozilla/3.0 (Win95; I)' Netscape Version 3 for Windows 95\n" " 'Mozilla/3.04 (Win95; U)' Netscape Version 3 for Windows 95\n" " 'Mozilla/2.02 (OS/2; U)' Netscape Version 2 for OS/2\n" " 'Mozilla/4.04 [en] (X11; U; AIX 4.2; Nav)' NS for AIX\n" " 'Mozilla/4.05 [en] (X11; U; Linux 2.0.32 i586)' NS for Linux\n" "\n" " Note that Internet Explorer tries hard to be compatible in every way:\n" " 'Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)' MSIE for W95\n" "\n" ); puts( " Mozilla is not the only possible User-Agent name:\n" " 'Konqueror/1.0' KDE File Manager desktop client\n" " 'Lynx/2.7.1 libwww-FM/2.14' Lynx command line browser\n" "\n" "COOKIES\n" "\n" " Cookies are generally used by web servers to keep state information at the\n" " client's side. The server sets cookies by sending a response line in the\n" " headers that looks like 'Set-Cookie: <data>' where the data part then\n" " typically contains a set of NAME=VALUE pairs (separated by semicolons ';'\n" ); puts( " like \"NAME1=VALUE1; NAME2=VALUE2;\"). The server can also specify for what\n" " path the \"cookie\" should be used for (by specifying \"path=value\"), when the\n" " cookie should expire (\"expire=DATE\"), for what domain to use it\n" " (\"domain=NAME\") and if it should be used on secure connections only\n" " (\"secure\").\n" "\n" " If you've received a page from a server that contains a header like:\n" " Set-Cookie: sessionid=boo123; path=\"/foo\";\n" "\n" ); puts( " it means the server wants that first pair passed on when we get anything in\n" " a path beginning with \"/foo\".\n" "\n" " Example, get a page that wants my name passed in a cookie:\n" "\n" " curl -b \"name=Daniel\" www.sillypage.com\n" "\n" " Curl also has the ability to use previously received cookies in following\n" " sessions. If you get cookies from a server and store them in a file in a\n" " manner similar to:\n" "\n" " curl --dump-header headers www.example.com\n" "\n" ); puts( " ... you can then in a second connect to that (or another) site, use the\n" " cookies from the 'headers' file like:\n" "\n" " curl -b headers www.example.com\n" "\n" " Note that by specifying -b you enable the \"cookie awareness\" and with -L\n" " you can make curl follow a location: (which often is used in combination\n" " with cookies). So that if a site sends cookies and a location, you can\n" " use a non-existing file to trigger the cookie awareness like:\n" "\n" " curl -L -b empty.txt www.example.com\n" "\n" ); puts( " The file to read cookies from must be formatted using plain HTTP headers OR\n" " as netscape's cookie file. Curl will determine what kind it is based on the\n" " file contents. In the above command, curl will parse the header and store\n" " the cookies received from www.example.com. curl will send to the server the\n" " stored cookies which match the request as it follows the location. The\n" " file \"empty.txt\" may be a non-existant file.\n" " \n" "\n" "PROGRESS METER\n" "\n" ); puts( " The progress meter exists to show a user that something actually is\n" " happening. The different fields in the output have the following meaning:\n" "\n" " % Total % Received % Xferd Average Speed Time Curr.\n" " Dload Upload Total Current Left Speed\n" " 0 151M 0 38608 0 0 9406 0 4:41:43 0:00:04 4:41:39 9287\n" "\n" " From left-to-right:\n" " % - percentage completed of the whole transfer\n" ); puts( " Total - total size of the whole expected transfer\n" " % - percentage completed of the download\n" " Received - currently downloaded amount of bytes\n" " % - percentage completed of the upload\n" " Xferd - currently uploaded amount of bytes\n" " Average Speed\n" " Dload - the average transfer speed of the download\n" " Average Speed\n" " Upload - the average transfer speed of the upload\n" " Time Total - expected time to complete the operation\n" ); puts( " Time Current - time passed since the invoke\n" " Time Left - expected time left to completetion\n" " Curr.Speed - the average transfer speed the last 5 seconds (the first\n" " 5 seconds of a transfer is based on less time of course.)\n" "\n" " The -# option will display a totally different progress bar that doesn't\n" " need much explanation!\n" "\n" "SPEED LIMIT\n" "\n" " Curl allows the user to set the transfer speed conditions that must be met\n" ); puts( " to let the transfer keep going. By using the switch -y and -Y you\n" " can make curl abort transfers if the transfer speed is below the specified\n" " lowest limit for a specified time.\n" "\n" " To have curl abort the download if the speed is slower than 3000 bytes per\n" " second for 1 minute, run:\n" "\n" " curl -Y 3000 -y 60 www.far-away-site.com\n" "\n" " This can very well be used in combination with the overall time limit, so\n" " that the above operatioin must be completed in whole within 30 minutes:\n" "\n" ); puts( " curl -m 1800 -Y 3000 -y 60 www.far-away-site.com\n" "\n" " Forcing curl not to transfer data faster than a given rate is also possible,\n" " which might be useful if you're using a limited bandwidth connection and you\n" " don't want your transfer to use all of it.\n" "\n" " Make curl transfer data no faster than 10 kilobytes per second:\n" "\n" " curl --limit-rate 10K www.far-away-site.com\n" "\n" " or\n" "\n" " curl --limit-rate 10240 www.far-away-site.com\n" "\n" ); puts( " Or prevent curl from uploading data faster than 1 megabyte per second:\n" "\n" " curl -T upload --limit-rate 1M ftp://uploadshereplease.com\n" "\n" "CONFIG FILE\n" "\n" " Curl automatically tries to read the .curlrc file (or _curlrc file on win32\n" " systems) from the user's home dir on startup.\n" "\n" " The config file could be made up with normal command line switches, but you\n" " can also specify the long options without the dashes to make it more\n" ); 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" "\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" " quote as \\\".\n" "\n" " NOTE: You must specify options and their arguments on the same line.\n" "\n" ); puts( " Example, set default time out and proxy in a config file:\n" "\n" " # We want a 30 minute timeout:\n" " -m 1800\n" " # ... and we use a proxy for all accesses:\n" " proxy = proxy.our.domain.com:8080\n" "\n" " White spaces ARE significant at the end of lines, but all white spaces\n" " leading up to the first characters of each line are ignored.\n" "\n" " Prevent curl from reading the default file by using -q as the first command\n" " line parameter, like:\n" "\n" " curl -q www.thatsite.com\n" "\n" ); puts( " Force curl to get and display a local help page in case it is invoked\n" " without URL by making a config file similar to:\n" "\n" " # default url to get\n" " url = \"http://help.with.curl.com/curlhelp.html\"\n" "\n" " You can specify another config file to be read by using the -K/--config\n" " flag. If you set config file name to \"-\" it'll read the config from stdin,\n" " which can be handy if you want to hide options from being visible in process\n" " tables etc:\n" "\n" ); puts( " echo \"user = user:passwd\" | curl -K - http://that.secret.site.com\n" "\n" "EXTRA HEADERS\n" "\n" " When using curl in your own very special programs, you may end up needing\n" " to pass on your own custom headers when getting a web page. You can do\n" " this by using the -H flag.\n" "\n" " Example, send the header \"X-you-and-me: yes\" to the server when getting a\n" " page:\n" "\n" " curl -H \"X-you-and-me: yes\" www.love.com\n" "\n" " This can also be useful in case you want curl to send a different text in a\n" ); puts( " header than it normally does. The -H header you specify then replaces the\n" " header curl would normally send. If you replace an internal header with an\n" " empty one, you prevent that header from being sent. To prevent the Host:\n" " header from being used:\n" "\n" " curl -H \"Host:\" www.server.com\n" "\n" "FTP and PATH NAMES\n" "\n" " Do note that when getting files with the ftp:// URL, the given path is\n" " relative the directory you enter. To get the file 'README' from your home\n" " directory at your ftp site, do:\n" "\n" ); puts( " curl ftp://user:email@example.com/README\n" "\n" " But if you want the README file from the root directory of that very same\n" " site, you need to specify the absolute file name:\n" "\n" " curl ftp://user:email@example.com//README\n" "\n" " (I.e with an extra slash in front of the file name.)\n" "\n" "FTP and firewalls\n" "\n" " The FTP protocol requires one of the involved parties to open a second\n" " connction as soon as data is about to get transfered. There are two ways to\n" " do this.\n" "\n" ); puts( " The default way for curl is to issue the PASV command which causes the\n" " server to open another port and await another connection performed by the\n" " client. This is good if the client is behind a firewall that don't allow\n" " incoming connections.\n" "\n" " curl ftp.download.com\n" "\n" " If the server for example, is behind a firewall that don't allow connections\n" " on other ports than 21 (or if it just doesn't support the PASV command), the\n" ); puts( " other way to do it is to use the PORT command and instruct the server to\n" " connect to the client on the given (as parameters to the PORT command) IP\n" " number and port.\n" "\n" " The -P flag to curl supports a few different options. Your machine may have\n" " several IP-addresses and/or network interfaces and curl allows you to select\n" " which of them to use. Default address can also be used:\n" "\n" " curl -P - ftp.download.com\n" "\n" ); puts( " Download with PORT but use the IP address of our 'le0' interface (this does\n" " not work on windows):\n" "\n" " curl -P le0 ftp.download.com\n" "\n" " Download with PORT but use 192.168.0.10 as our IP address to use:\n" "\n" " curl -P 192.168.0.10 ftp.download.com\n" "\n" "NETWORK INTERFACE\n" "\n" " Get a web page from a server using a specified port for the interface:\n" "\n" " curl --interface eth0:1 http://www.netscape.com/\n" "\n" " or\n" "\n" " curl --interface 192.168.1.10 http://www.netscape.com/\n" "\n" "HTTPS\n" "\n" ); puts( " Secure HTTP requires SSL libraries to be installed and used when curl is\n" " built. If that is done, curl is capable of retrieving and posting documents\n" " using the HTTPS procotol.\n" "\n" " Example:\n" "\n" " curl https://www.secure-site.com\n" "\n" " Curl is also capable of using your personal certificates to get/post files\n" " 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" ); puts( " store certificates with, but it is not used by the most commonly used\n" " browsers (Netscape and MSIE both use the so called PKCS#12 format). If you\n" " want curl to use the certificates you use with your (favourite) browser, you\n" " may need to download/compile a converter that can convert your browser's\n" " formatted certificates to PEM formatted ones. This kind of converter is\n" " included in recent versions of OpenSSL, and for older versions Dr Stephen\n" ); puts( " N. Henson has written a patch for SSLeay that adds this functionality. You\n" " can get his patch (that requires an SSLeay installation) from his site at:\n" " http://www.drh-consultancy.demon.co.uk/\n" "\n" " Example on how to automatically retrieve a document using a certificate with\n" " a personal password:\n" "\n" " curl -E /path/to/cert.pem:password https://secure.site.com/\n" "\n" " If you neglect to specify the password on the command line, you will be\n" ); puts( " prompted for the correct password before any data can be received.\n" "\n" " Many older SSL-servers have problems with SSLv3 or TLS, that newer versions\n" " of OpenSSL etc is using, therefore it is sometimes useful to specify what\n" " SSL-version curl should use. Use -3, -2 or -1 to specify that exact SSL\n" " version to use (for SSLv3, SSLv2 or TLSv1 respectively):\n" "\n" " curl -2 https://secure.site.com/\n" "\n" " Otherwise, curl will first attempt to use v3 and then v2.\n" "\n" ); puts( " To use OpenSSL to convert your favourite browser's certificate into a PEM\n" " formatted one that curl can use, do something like this (assuming netscape,\n" " but IE is likely to work similarly):\n" "\n" " You start with hitting the 'security' menu button in netscape. \n" "\n" " Select 'certificates->yours' and then pick a certificate in the list \n" "\n" " Press the 'export' button \n" "\n" " enter your PIN code for the certs \n" "\n" " select a proper place to save it \n" "\n" ); puts( " Run the 'openssl' application to convert the certificate. If you cd to the\n" " openssl installation, you can do it like:\n" "\n" " # ./apps/openssl pkcs12 -in [file you saved] -clcerts -out [PEMfile]\n" "\n" "\n" "RESUMING FILE TRANSFERS\n" "\n" " To continue a file transfer where it was previously aborted, curl supports\n" " resume on http(s) downloads as well as ftp uploads and downloads.\n" "\n" " Continue downloading a document:\n" "\n" " curl -C - -o file ftp://ftp.server.com/path/file\n" "\n" " Continue uploading a document(*1):\n" ); puts( "\n" " curl -C - -T file ftp://ftp.server.com/path/file\n" "\n" " Continue downloading a document from a web server(*2):\n" "\n" " curl -C - -o file http://www.server.com/\n" "\n" " (*1) = This requires that the ftp server supports the non-standard command\n" " SIZE. If it doesn't, curl will say so.\n" "\n" " (*2) = This requires that the web server supports at least HTTP/1.1. If it\n" " doesn't, curl will say so.\n" "\n" "TIME CONDITIONS\n" "\n" " HTTP allows a client to specify a time condition for the document it\n" ); puts( " requests. It is If-Modified-Since or If-Unmodified-Since. Curl allow you to\n" " specify them with the -z/--time-cond flag.\n" "\n" " For example, you can easily make a download that only gets performed if the\n" " remote file is newer than a local copy. It would be made like:\n" "\n" " curl -z local.html http://remote.server.com/remote.html\n" "\n" " Or you can download a file only if the local file is newer than the remote\n" " one. Do this by prepending the date string with a '-', as in:\n" "\n" ); puts( " curl -z -local.html http://remote.server.com/remote.html\n" "\n" " You can specify a \"free text\" date as condition. Tell curl to only download\n" " the file if it was updated since yesterday:\n" "\n" " curl -z yesterday http://remote.server.com/remote.html\n" "\n" " Curl will then accept a wide range of date formats. You always make the date\n" " check the other way around by prepending it with a dash '-'.\n" "\n" "DICT\n" "\n" " For fun try\n" "\n" " curl dict://dict.org/m:curl\n" " curl dict://dict.org/d:heisenbug:jargon\n" ); puts( " curl dict://dict.org/d:daniel:web1913\n" "\n" " Aliases for 'm' are 'match' and 'find', and aliases for 'd' are 'define'\n" " and 'lookup'. For example,\n" "\n" " curl dict://dict.org/find:curl\n" "\n" " Commands that break the URL description of the RFC (but not the DICT\n" " protocol) are\n" "\n" " curl dict://dict.org/show:db\n" " curl dict://dict.org/show:strat\n" "\n" " Authentication is still missing (but this is not required by the RFC)\n" "\n" "LDAP\n" "\n" ); puts( " If you have installed the OpenLDAP library, curl can take advantage of it\n" " and offer ldap:// support.\n" "\n" " LDAP is a complex thing and writing an LDAP query is not an easy task. I do\n" " advice you to dig up the syntax description for that elsewhere. Two places\n" " that might suit you are:\n" "\n" " Netscape's \"Netscape Directory SDK 3.0 for C Programmer's Guide Chapter 10:\n" " Working with LDAP URLs\":\n" " http://developer.netscape.com/docs/manuals/dirsdk/csdk30/url.htm\n" "\n" ); puts( " RFC 2255, \"The LDAP URL Format\" http://www.rfc-editor.org/rfc/rfc2255.txt\n" "\n" " To show you an example, this is now I can get all people from my local LDAP\n" " server that has a certain sub-domain in their email address:\n" "\n" " curl -B \"ldap://ldap.frontec.se/o=frontec??sub?mail=*sth.frontec.se\"\n" "\n" " If I want the same info in HTML format, I can get it by not using the -B\n" " (enforce ASCII) flag.\n" "\n" "ENVIRONMENT VARIABLES\n" "\n" " Curl reads and understands the following environment variables:\n" "\n" ); puts( " http_proxy, HTTPS_PROXY, FTP_PROXY, GOPHER_PROXY\n" "\n" " They should be set for protocol-specific proxies. General proxy should be\n" " set with\n" " \n" " ALL_PROXY\n" "\n" " A comma-separated list of host names that shouldn't go through any proxy is\n" " set in (only an asterisk, '*' matches all hosts)\n" "\n" " NO_PROXY\n" "\n" " If a tail substring of the domain-path for a host matches one of these\n" " strings, transactions with that node will not be proxied.\n" "\n" "\n" ); puts( " The usage of the -x/--proxy flag overrides the environment variables.\n" "\n" "NETRC\n" "\n" " Unix introduced the .netrc concept a long time ago. It is a way for a user\n" " to specify name and password for commonly visited ftp sites in a file so\n" " that you don't have to type them in each time you visit those sites. You\n" " realize this is a big security risk if someone else gets hold of your\n" " passwords, so therefor most unix programs won't read this file unless it is\n" ); puts( " only readable by yourself (curl doesn't care though).\n" "\n" " Curl supports .netrc files if told so (using the -n/--netrc and\n" " --netrc-optional options). This is not restricted to only ftp,\n" " but curl can use it for all protocols where authentication is used.\n" "\n" " A very simple .netrc file could look something like:\n" "\n" " machine curl.haxx.se login iamdaniel password mysecret\n" "\n" "CUSTOM OUTPUT\n" "\n" " To better allow script programmers to get to know about the progress of\n" ); puts( " curl, the -w/--write-out option was introduced. Using this, you can specify\n" " what information from the previous transfer you want to extract.\n" "\n" " To display the amount of bytes downloaded together with some text and an\n" " ending newline:\n" "\n" " curl -w 'We downloaded %{size_download} bytes\\n' www.download.com\n" "\n" "KERBEROS4 FTP TRANSFER\n" "\n" " Curl supports kerberos4 for FTP transfers. You need the kerberos package\n" " installed and used at curl build time for it to be used.\n" "\n" ); puts( " First, get the krb-ticket the normal way, like with the kauth tool. Then use\n" " curl in way similar to:\n" "\n" " curl --krb4 private ftp://krb4site.com -u username:fakepwd\n" "\n" " There's no use for a password on the -u switch, but a blank one will make\n" " curl ask for one and you already entered the real password to kauth.\n" "\n" "TELNET\n" "\n" " The curl telnet support is basic and very easy to use. Curl passes all data\n" " passed to it on stdin to the remote server. Connect to a remote telnet\n" ); puts( " server using a command line similar to:\n" "\n" " curl telnet://remote.server.com\n" "\n" " And enter the data to pass to the server on stdin. The result will be sent\n" " to stdout or to the file you specify with -o.\n" "\n" " You might want the -N/--no-buffer option to switch off the buffered output\n" " for slow connections or similar.\n" "\n" " Pass options to the telnet protocol negotiation, by using the -t option. To\n" " tell the server we use a vt100 terminal, try something like:\n" "\n" ); puts( " curl -tTTYPE=vt100 telnet://remote.server.com\n" "\n" " Other interesting options for it -t include:\n" "\n" " - XDISPLOC=<X display> Sets the X display location.\n" "\n" " - NEW_ENV=<var,val> Sets an environment variable.\n" "\n" " NOTE: the telnet protocol does not specify any way to login with a specified\n" " user and password so curl can't do that automatically. To do that, you need\n" " to track when the login prompt is received and send the username and\n" " password accordingly.\n" "\n" "PERSISTANT CONNECTIONS\n" "\n" ); puts( " Specifying multiple files on a single command line will make curl transfer\n" " all of them, one after the other in the specified order.\n" "\n" " libcurl will attempt to use persistant connections for the transfers so that\n" " the second transfer to the same host can use the same connection that was\n" " already initiated and was left open in the previous transfer. This greatly\n" " decreases connection time for all but the first transfer and it makes a far\n" " better use of the network.\n" "\n" ); puts( " Note that curl cannot use persistant connections for transfers that are used\n" " in subsequence curl invokes. Try to stuff as many URLs as possible on the\n" " same command line if they are using the same host, as that'll make the\n" " transfers faster. If you use a http proxy for file transfers, practicly\n" " all transfers will be persistant.\n" "\n" " Persistant connections were introduced in curl 7.7.\n" "\n" "MAILING LISTS\n" "\n" " For your convenience, we have several open mailing lists to discuss curl,\n" ); puts( " its development and things relevant to this. Get all info at\n" " http://curl.haxx.se/mail/. The lists available are:\n" "\n" " curl-users\n" "\n" " Users of the command line tool. How to use it, what doesn't work, new\n" " features, related tools, questions, news, installations, compilations,\n" " running, porting etc.\n" "\n" " curl-library\n" "\n" " Developers using or developing libcurl. Bugs, extensions, improvements.\n" "\n" " curl-announce\n" "\n" " Low-traffic. Only announcements of new public versions.\n" "\n" " curl-and-PHP\n" "\n" ); puts( " Using the curl functions in PHP. Everything curl with a PHP angle. Or PHP\n" " with a curl angle.\n" "\n" " curl-commits\n" "\n" " Receives notifications on all CVS commits done to the curl source module.\n" " This can become quite a large amount of mails during intense development,\n" " be aware. This is for us who like email...\n" "\n" " curl-www-commits\n" "\n" " Receives notifications on all CVS commits done to the curl www module\n" " (basicly the web site). This can become quite a large amount of mails\n" ); puts( " during intense changing, be aware. This is for us who like email...\n" "\n" " Please direct curl questions, feature requests and trouble reports to one of\n" " these mailing lists instead of mailing any individual.\n" ) ; }


text:
So, again, the rumors were true. Weight Watchers spokeswoman Jessica Simpson is pregnant with baby #2! She made the announcement via twitter yesterday on Christmas. The message was simple:
Merry Christmas from my family to yours!
In this case, the picture that accompanied the message was worth a thousand words. It was of an adorable Maxwell on the beach with the words "Big Sis" in the sand. Congratulations to Jessica, her fiance Eric Johnson (maybe he's her husband, if the rumor about their surprise Hawaii wedding is true), and baby Maxwell!
Photos by FAMEFLYNET

subset: commoncrawl


text:
It was a bad week for tweeters.
Last week, three American institutions-- the military, the NFL and ESPN-- announced they were cracking down on their employees' use of Twitter, Facebook and other social media websites that allow users to post messages to a circle of friends, family and strangers.
First, word leaked out that the military was considering banning troops from accessing Twitter and Facebook from government computers. The Marines already ban soldiers from keeping in touch with family and friends on the sites. Pentagon officials say they are considering extending the ban to other parts of the military to stop troops from inadvertently posting sensitive information valuable to the enemy.
NFL coaches have the same concerns. Last week, several teams told players they were banned from twittering from the sidelines. Team officials worried some players would give their opponents an advantage by saying too much about injuries and game plans.
Finally, ESPN issued guideline limiting how much its employees can reveal on their personal Twitter pages. The cable sports network says it wants its employees to break sports news through its officials channels.
What does it all mean? Bloggers spent the last week weighing the impact of each institution's decision as companies around the nation come to terms with the growing popularity of sites that allow people to fire off news and opinions in an instant.
Andy Sernovitz, blogging at the Huffington Post:
Now you're not just shipped off, you're shut off.
This is much worse for the troops in Afghanistan, Iraq and at sea who have no other way to connect.
The ban is going to hurt morale. "An Army of One -- and we mean you, by yourself." This ban is going to hurt recruiting. "Join the Navy, see the world, and don't speak to your friends for six months at a time."
On top of this, it's not going to work. Everyone has access to a $99 iPhone, texting and the web. The Iranian government couldn't stop Twitter. We'll look like idiots for trying.
Bryan, an Army soldier, blogging at A Major's Perspective (majorsperspective.blogspot.com):
Why am I disappointed? I came into the Army in 1997. As a young lietenant, the first class I was given on media was that they were basically the enemy and to stay away . . . This is a tremendous change that I have seen in 12 years. The military has embraced the web and understands that as military professionals it is part of our job to tell the American soldier's stories to the American people . . .
Instead of training our soldiers, or putting more security in place, the recommendation is to just cut it off. I'm sorry, but that is not the way the military works. We do not shoot the messenger, we do not throw the baby out with the bath water.
Frank Reed, blogging at Marketing Pilgrim:
Social media reaches all walks of life these days and could actually serve to help these men and women in service of our country to stay in touch with their families in a way that has never been an option in the past. Unfortunately, with the good comes the bad which is the threat that enemies could gather information that could hurt everyone involved.
There truly is power in social media and we, in the free world, need to make sure that we understand that this is a privilege much more than it is a right. While I do not like any government intervention in the personal use of these sites, I have to understand this ban. But it hurts to hear it. These servants deserve more, but the world right now doesn't allow for it. For many of these brave people I have to suspect that the world just got a little more lonely.
Stephanie Critchfield, blogging at Engauge:
Why all of this worry? More than any other organization, the NFL is well-known for its team-based secrecy; from injuries to game strategies, information is withheld to give every advantage to teams and their players. It's also no mystery that professional athlethes aren't always the most media-savvy bunch. And we all know the media actively monitors Twitter; so the risk involved in the casual tweet turning into a leak is far too much. Bottom line, they can't trust that players can handle it with responsibility.
What bothers me is the idea that if they stop players from using Twitter, that will solve the problem. The truth is that our life is going to be Twitterized by way more than Twitter. This is likely only the beginning. Perhaps an investment in media training would be wiser?
Kris, blogging at Dummocrats:
I've been quick to mock the mainstream media as being out of touch with the internet, but I think ESPN is almost dead on with its new Twitter ban. Two things separate ESPN from any other sports fan: access and journalistic standards.
Before you roll your eyes at the words "journalistic standards," think about Michael Jackson's death. You may have read about it in some social media forum or at TMZ, but you didn't really believe it until CNN, the networks and the LA Times confirmed it, did you?
It doesn't make sense for ESPN to allow its reporters to post juicy gossip and scoops on non-advertising supported non-ESPN sites. At best, it devalues ESPN's own content and makes the reporter, rather than the network (whose access ESPN provides) the news source and at worst it makes the viewer or reader questions whether they're hearing facts or crazy rumors from ESPN.
What do you think? Leave your comments below.
Read other Jersey Blogs columns from The Star-Ledger op-ed page.


text:
- News
- Calendar
- Blogs
- Sports
- Entertainment
- Business
- Lifestyles
- Community
- Opinion
- About Us
- Classifieds
- Coupons
- Local Savings
- Green Editions
- Legal Notices
- Weekly Ads
- Connect2Classes
Connect with Us
Letters to the Editor
Latest news, top stories, and community events,
LETTER TO THE EDITOR | Carefully consider tax measure
To the editor:
This letter is to attest to the fact that students from the South Whidbey School District benefit greatly from the services of Island County Transit for travel to school, activities, athletics and programs.
Without these services, many of our students would not have this kind of access or be able to benefit from these programs. I encourage Island County voters to carefully consider the tax measure being presented to the voters on Aug. 18.
Fred McCarthy
South Whidbey School District
Latest news, top stories, and community events,
delivered to your inbox.
Trending Stories Oct 16 - Oct 23
We encourage an open exchange of ideas on this story's topic, but we ask you to follow our guidelines for respecting community standards. Personal attacks, inappropriate language, and off-topic comments may be removed, and comment privileges revoked, per our Terms of Use. Please see our FAQ if you have questions or concerns about using Facebook to comment.blog comments powered by Disqus
Read the Oct 22
Green Edition
Browse the print edition page by page, including stories and ads.
Browse the archives.
Friends to FollowView All Updates
Local display advertising by PaperG


text:
Elizabeth Dolan's Event Journal
The Sound of Music
Wednesday September 1, 2010 / 8:00pmThe Sound of Music
2 tickets
How was your experience?
Our seats were better for Legally Blonde, but I still enjoyed the show. I love the venue and everyone is so helpful! I thoroughly enjoyed my time at the show.


text:
Militants open fire on students and staff at a university in Charsadda, in north-west Pakistan, killing at least 19 and injuring scores more.
Students protest in London against a student loans system that already costs them some �40,000 over three years, and is set to become even more expensive, especially for those on low incomes.
Education Secretary Nicky Morgan approves a new 450-pupil selective school in Sevenoaks. Defence Minister and local MP Michael Fallon says he's "thrilled", but are grammar schools on the way back?
If he did get back in, what sort of David Cameron would we see? The long gone husky-cuddling eco-warrior won't make a reappearance presumably.
The Tories wanted to play what they see as their good management card at today's manifesto launch. But their plans still contain some smoke and mirrors.
Immigration is rarely out of the headlines. With Ukip making it a key election issue, David Cameron has had to sit up and take notice. Here are the facts.
Even sceptics acknowledge that reaction they've seen among young voters to the tuition fee reduction announcement is stunning.
Labour says its plans to cut tuition fees will make the system "more progressive". Others says poor students will be worse off. Who's right?
As well as cutting tuition fees by a third, a Labour government would give students an extra �400 a year for their maintenance grant.


text:
- News
- Calendar
- Blogs
- Sports
- Entertainment
- Business
- Lifestyles
- Community
- Opinion
- About Us
- Classifieds
- Coupons
- Local Savings
- Green Editions
- Legal Notices
- Contests
- Weekly Ads
- Connect2Classes
Connect with Us
Latest news, top stories, and community events,
Dreamin' of a cool Christmas
Daniel Northrup of Bremerton plays 'Silent Night' on the saxaphone in the parking lot of Safeway in Silverdale Dec. 2. The 25-year-old has been playing the sax for 15 years and has been a street performer for about a year-and-a-half. He performs all over Kitsap County, mainly in Silverdale, Bremerton and Bainbridge Island, where he averages three to six hours of playing per day. "Pretty much rain or shine, I come out and play," he said.
Latest news, top stories, and community events,
delivered to your inbox.
Trending Stories Oct 18 - Oct 25
We encourage an open exchange of ideas on this story's topic, but we ask you to follow our guidelines for respecting community standards. Personal attacks, inappropriate language, and off-topic comments may be removed, and comment privileges revoked, per our Terms of Use. Please see our FAQ if you have questions or concerns about using Facebook to comment.blog comments powered by Disqus
Read the Oct 21
Green Edition
Browse the print edition page by page, including stories and ads.
Browse the archives.
Friends to FollowView All Updates
Local display advertising by PaperG


text:
Home Shop buy parts car seat parts optimum car seat parts
FREE SHIPPING ON ORDERS OVER kr 2500
Parts for optimum car seats are no longer in production. Once the last of the below products have been sold, they're gone for good - we're sorry!
© 2016 philandteds.com
Select your region


text:
- News
- Calendar
- Blogs
- Sports
- Entertainment
- Business
- Lifestyles
- Community
- Opinion
- About Us
- Classifieds
- Coupons
- Local Savings
- Green Editions
- Legal Notices
- Weekly Ads
- Connect2Classes
Connect with Us
School starting — be mindful of kids and buses on road | In Our Opinion
It's not just time to pick out new school clothes, sharpen those no. 2 pencils, shop for new binders and zip up the backpacks.
With Oak Harbor and Coupeville schools starting classes this week, parents, students and motorists should be extra alert when traveling on Whidbey Island's roads.
School children will be walking to and from school, and kids can be unpredictable, stepping into crosswalks without notice or darting across the road on foot or on bicycle.
Children will also be embarking and disembarking buses.
One of the best ways to stay safe and to protect others is to eliminate any distractions to your driving, according to the website www.aaa.com
Not only should drivers remain alert at all times, but so should pedestrians. That means keeping cell phones and other electronics in your pockets and focusing your eyes on the road.
There is no excuse for texting or talking on the phone while driving. It is against the law.
Likewise, students who are walking to school while playing with a phone or other electronic device aren't as alert as they should be.
Motorists should not hurriedly back into and out of driveways. Children can easily disappear into your mirrors' blind spot.
Expect that there will be pedestrians at crosswalks, especially around schools and in neighborhoods.
While it may seem obvious, AAA advises motorists to also make full and complete stops at all stop signs. An estimated one-third of drivers don't come to a complete stop, even though it is legally required.
Rolling through stop signs can lead to preventable injuries.
Plan ahead and allow yourself extra time for possible traffic congestion. When you're rushing, mistakes are more likely to occur.
Be aware of when walkers may be in the area of the route that you're taking. If possible, avoid school zones entirely.
Any time pedestrians and vehicles mix, there's a greater opportunity for an accident. By taking a few very basic precautionary measures, it's possible to avoid those accidents.
To all of the children, their parents, teachers and others, we wish you a safe, successful and enjoyable school year.
Latest news, top stories, and community events,
delivered to your inbox.
Trending Stories Oct 15 - Oct 22
Read the Oct 22
Green Edition
Browse the print edition page by page, including stories and ads.
Browse the archives.


text:
In order to further integrate robot control into its dyanamic PC-based
software platform, Beckhoff Automation has released the new TwinCAT® Kinematic Transformation
software. With this release, TwinCAT software now extends its standard machine
sequencing and motion control capability to Delta- and SCARA-type robot
mechanisms with a Kinematic Transformation option.
This eliminates the need for a dedicated robot
controller, the associated software and handshaking routines in applications
that require a robot to handle part loading/unloading tasks. Since the
robot control is in the same controller, the robot movements can be tightly
coordinated with non-robotic motion such as conveyors and other moving mechanisms.
The PC-based control platform from Beckhoff unites PLC, motion control and
robotics all on one multi-tasking hardware and software platform.
Beckhoff's "TwinCAT
Kinematic Transformation" software provides the user with a series of
considerable advantages:


text:
The 2013 NFL playoff race will reach its climactic conclusion in Week 17.
With only eight teams having clinched a playoff berth with one game to go, the stakes have never been higher.
Here's an early look at my picks for all 16 games in Week 17.
|Carolina Panthers (-7)
|Atlanta Falcons
|Baltimore Ravens
|Cincinnati Bengals (-3.5)
|Tennessee Titans (-6)
|Houston Texans
|Indianapolis Colts (-4)
|Jacksonville Jaguars
|Miami Dolphins (-6.5)
|New York Jets
|Minnesota Vikings
|Detroit Lions (-2.5)
|New York Giants (-3.5)
|Washington Redskins
|Pittsburgh Steelers (-6)
|Cleveland Browns
|Denver Broncos (-13)
|Oakland Raiders
|New England Patriots (-8.5)
|Buffalo Bills
|New Orleans Saints (-12.5)
|Tampa Bay Buccaneers
|Arizona Cardinals
|San Francisco 49ers (-3)
|San Diego Chargers (-7.5)
|Kansas City Chiefs
|Seattle Seahawks (-10.5)
|St. Louis Rams
|Green Bay Packers (N/A)
|Chicago Bears
|Philadelphia Eagles (-7)
|Dallas Cowboys
Lines via VegasInsider.com
Baltimore Ravens Over Cincinnati Bengals
The Cincinnati Bengals have already secured the AFC North division title, but can improve their playoff positioning with a win over the defending Super Bowl champion Baltimore Ravens—as long as the New England Patriots lose in Week 17.
By contrast, the Ravens must win and get help in order to return to the postseason.
With Baltimore already having proven it can beat Cincinnati this season, look for the Ravens to earn a hard-fought road win at Paul Brown Stadium this weekend.
The Ravens beat the Bengals back in Week 10 despite racking up just 189 total yards. Baltimore had tremendous defensive success in that game against Cincinnati, pressuring quarterback Andy Dalton into five sacks and three costly interceptions.
Look for Baltimore's top-10 defense to desperately pull out all the stops and implement a similar game plan in Week 17 as the Ravens look to cover the 3.5-point spread and earn a AFC wild-card berth.
Arizona Cardinals Over San Francisco 49ers
The surging Arizona Cardinals are still alive for a playoff berth coming into Week 17. They will need a win and help from the Tampa Bay Buccaneers in order to qualify for the postseason as an NFC Wild Card.
Regardless of what happens between the Bucs and Saints in New Orleans, watch for the Cardinals to win their fifth straight home game by beating the San Francisco 49ers, who have already clinched a playoff berth.
Which team will make the playoffs in the NFC?
Arizona is coming off an incredible win at Seattle in Week 16 and clearly has much more to play for than San Francisco, who are flying high after a memorable Monday night win over the Atlanta Falcons in Week 16. The Cardinals nearly outplayed the 49ers in their first meeting back in October, too.
San Francisco came away with a 32-20 win at Candlestick Park, but were out-gained 403-387 and only led by two points heading into the fourth quarter. In the end, the Cardinals' four turnovers proved to be the difference.
Over 10 weeks later, the Cardinals are a different team, per defensive end Calais Campbell via AZCardinals.com: "We are a very confident team right now. We feel if we get to the playoffs we can do some damage. We just have to get lucky."
This time around, look for a confident Cardinals defense and a dynamic Arizona passing attack to capitalize at home, pulling out a much-needed win to at least give themselves a shot at the playoffs.
Philadelphia Eagles Over Dallas Cowboys
With ESPN NFL insider Adam Schefter reporting that Cowboys quarterback Tony Romo will likely miss the rest of the season with a herniated disc in his back, you won't have a hard time finding many experts and analysts who like the Eagles to win Sunday night's winner-take-all showdown in the NFC East.
Cowboys QB Tony Romo has been ruled out the rest of the season due to his back injury, per league source.— Adam Schefter (@AdamSchefter) December 23, 2013
More details: RT @mortreport: Tony Romo diagnosed with herniated disc. Surgery necessary, per sources— Adam Schefter (@AdamSchefter) December 23, 2013
Bleacher Report NFL lead writer Michael Schottey offers two logical explanations as to why the Cowboys have yet to officially rule out Romo for Week 17:
Two things there: 1) Behooves Cowboys to make Eagles "plan" for Romo. 2) @AdamSchefter may be more "in the loop" than Garrett in Dallas.— Michael Schottey (@Schottey) December 23, 2013
In addition to the obvious advantage Philly will have if Romo can't suit up or is far from 100 percent physically, the Eagles have been an impressive road team in 2013, going 5-2 behind enemy lines this year. Only Seattle and Kansas City have fared better through 16 weeks.
On top of that, you're talking about one of the league's best offenses in the Eagles squaring off against one of the league's most porous defenses in the Cowboys in perfect field conditions at AT&T Stadium.
Led by the NFL's leading rusher in LeSean McCoy, the Eagles boast the NFL's most potent rushing attack and are sure to reel off chunks of yardage against the Cowboys' 27th-ranked run-stopping unit.
When you add in the fact Nick Foles is making smart decisions with the football and Philly's defense has stepped up tremendously over the second half of the season, it's no surprise the Eagles are touchdown favorites on the road.
Follow Bleacher Report Featured Columnist Patrick Clarke on Twitter.


text:
The city accepted a $150,000 matching challenge grant Tuesday from the Don and Sybil Harrington Foundation to help pay for the construction of a new Herpetarium for the Amarillo Zoo.
"We have to work with the private and public partnerships to do more work out there. In my mind, this is the start of more," said City Manager Alan Taylor.
The grant is a matching grant. Another $150,000 will be raised through private donations or private foundations. Parks & Recreation Director Larry Offerdahl said the goal is to raise the matching funds within 60 days. The remaining bill will be footed by the city.
The Herpetarium will measure 2,435 square feet and will house 52 species of invertebrates and reptiles from North and South America, Australia, Africa and Asia. It will be located southwest of the zoo's Monkey Island.
In other city business, the City Commission approved paying Kimley-Horn and Associates, Inc. $326,375 for engineering services for the Sewer Lift Station No. 7 project.
The project has been broken into three phases and will total $5.4 million. When Lift Station No. 7 is completed, it will replace three existing lift stations.
Commissioners also agreed to pay $145,262 for a contractor to install pumps, motors, valves, piping and other improvements for the Comanche Trail Golf Course Water Well Project.
The work will connect two wells located near the Hollywood Road Treatment Plant to an already existing pipeline and transport the well water to the golf course.
City officials say the solution is a low cost one that will conserve water.
The commission also approved buying more than $138,000 in traffic signal equipment and accessories and spending $100,777 for 92 computers.
© 2016. All Rights Reserved. | Contact Us


text:
PATERSON — A man was hit and killed by an NJ Transit train near the Paterson station this morning, according to a report on NorthJersey.com.
The incident occurred at around 6 a.m. and did not take place at a crossing. There are still 10-to-15 minute delays on the Main line between Paterson and Hoboken.
More NJ Transit news: