cURL
Your ad here would be seen by 100,000 unique vistors every month Haxx ad
libcurl

Shopping cart software, Online file storage, Online photo storage, Hosted shopping cart, Contact management software, Email marketing software, Project management software, Issue tracking software, Online notepad, Web publishing software

curl's project page on SourceForge.net

cURL > Docs > Features

Features -- what can curl do

                                  _   _ ____  _
                              ___| | | |  _ \| |
                             / __| | | | |_) | |
                            | (__| |_| |  _ <| |___
                             \___|\___/|_| \_\_____|
 
FEATURES
 
curl tool
 - config file support
 - multiple URLs in a single command line
 - range "globbing" support: [0-13], {one,two,three}
 - multiple file upload on a single command line
 - custom maximum transfer rate
 - redirectable stderr
 
libcurl supports
 - full URL syntax with no length limit
 - custom maximum download time
 - custom least download speed acceptable
 - custom output result after completion
 - guesses protocol from host name unless specified
 - uses .netrc
 - progress bar/time specs while downloading
 - "standard" proxy environment variables support
 - compiles on win32 (reported builds on 40+ operating systems)
 - selectable network interface for outgoing traffic
 - IPv6 support on unix and Windows
 - persistant connections
 - socks5 support
 - supports user name + password in proxy environment variables
 - operations through proxy "tunnel" (using CONNECT)
 - supports large files (>2GB and >4GB) both upload/download
 - replacable memory functions (malloc, free, realloc, etc)
 - asynchronous name resolving (*6)
 - both a push and a pull style interface
 
HTTP
 - HTTP/1.1 compliant (optionally uses 1.0)
 - GET
 - PUT
 - HEAD
 - POST
 - Pipelining
 - multipart formpost (RFC1867-style)
 - authentication: Basic, Digest, NTLM(*1), GSS-Negotiate/Negotiate(*3) and
   SPNEGO (*4) to server and proxy
 - resume (both GET and PUT)
 - follow redirects
 - maximum amount of redirects to follow
 - custom HTTP request
 - cookie get/send fully parsed
 - reads/writes the netscape cookie file format
 - custom headers (replace/remove internally generated headers)
 - custom user-agent string
 - custom referer string
 - range
 - proxy authentication
 - time conditions
 - via http-proxy
 - retrieve file modification date
 - Content-Encoding support for deflate and gzip
 - "Transfer-Encoding: chunked" support for "uploads"
 
HTTPS (*1)
 - (all the HTTP features)
 - using client certificates
 - verify server certificate
 - via http-proxy
 - select desired encryption
 - force usage of a specific SSL version (SSLv2(*7), SSLv3 or TLSv1)
 
FTP
 - download
 - authentication
 - kerberos4 (*5), kerberos5 (*3)
 - active/passive using PORT, EPRT, PASV or EPSV
 - single file size information (compare to HTTP HEAD)
 - 'type=' URL support
 - dir listing
 - dir listing names-only
 - upload
 - upload append
 - upload via http-proxy as HTTP PUT
 - download resume
 - upload resume
 - custom ftp commands (before and/or after the transfer)
 - simple "range" support
 - via http-proxy
 - all operations can be tunneled through a http-proxy
 - customizable to retrieve file modification date
 - no dir depth limit
 
FTPS (*1)
 - implicit ftps:// support that use SSL on both connections
 - explicit "AUTH TSL" and "AUTH SSL" usage to "upgrade" plain ftp://
   connection to use SSL for both or one of the connections
 
SCP (*8)
 - both password and public key auth
 
SFTP (*8)
 - both password and public key auth
 - with custom commands sent before/after the transfer
 
TFTP
 - download / upload
 
TELNET
 - connection negotiation
 - custom telnet options
 - stdin/stdout I/O
 
LDAP (*2)
 - full LDAP URL support
 
DICT
 - extended DICT URL support
 
FILE
 - URL support
 - "uploads"
 - resume
 
FOOTNOTES
=========
 
  *1 = requires OpenSSL, GnuTLS, NSS or yassl
  *2 = requires OpenLDAP
  *3 = requires a GSSAPI-compliant library, such as Heimdal or similar.
  *4 = requires FBopenssl
  *5 = requires a krb4 library, such as the MIT one or similar.
  *6 = requires c-ares
  *7 = requires OpenSSL or NSS, as GnuTLS only supports SSLv3 and TLSv1
  *8 = requires libssh2

donate! Page updated April 20, 2009.
web site info

File upload with ASP.NET