Command line tool and library for transferring data with URLs!

cURL

cURL

  -  6.3 MB  -  Freeware
  • Latest Version

    cURL 8.11.1 LATEST

  • Review by

    Daniel Leblanc

  • Operating System

    Windows 7 / Windows 8 / Windows 10 / Windows 11

  • User Rating

    Click to vote
  • Author / Product

    Daniel Stenberg / External Link

  • Filename

    curl-8.11.1.zip

cURL is used in command lines or scripts to transfer data. It is also used in cars, television sets, routers, printers, audio equipment, mobile phones, tablets, settop boxes, media players and is the internet transfer backbone for thousands of software applications affecting billions of humans daily. cURL is free and open-source software and exists thanks to thousands of contributors and sponsors. cURL is powered by libcurl for all transfer-related features.

Supports

DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, Telnet and TFTP. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, HTTP/2, cookies, user+password authentication (Basic, Plain, Digest, CRAM-MD5, NTLM, Negotiate and Kerberos), file transfer resume, proxy tunneling and more.

cURL offers a busload of useful tricks like proxy support, user authentication, FTP upload, HTTP post, SSL connections, cookies, file transfer resume, Metalink, and more. As you will see below, the number of features will make your head spin!

What's new in this version:

Fixed:
- build: fix ECH to always enable HTTPS RR
- build: fix MSVC UWP builds
- build: omit certain deps from `libcurl.pc` unless found via `pkg-config`
- build: use `_fseeki64()` on Windows, drop detections
- cmake: do not echo most inherited `LDFLAGS` to config files
- cmake: drop cmake args list from `buildinfo.txt`
- cmake: include `wolfssl/options.h` first
- cmake: remove legacy unused IMMEDIATE keyword
- cmake: restore cmake args list in `buildinfo.txt`
- cmake: set `CURL_STATICLIB` for static lib when `SHARE_LIB_OBJECT=OFF`
- cmake: sync GSS config code with other deps
- cmake: typo in comment
- cmake: work around `ios.toolchain.cmake` breaking feature-detections
- cmakelint: fix to check root `CMakeLists.txt`
- cmdline/ech.md: formatting cleanups
- configure: add FIXMEs for disabled pkg-config references
- configure: do not echo most inherited `LDFLAGS` to config files
- configure: replace `$#` shell syntax
- cookie: treat cookie name case sensitively
- curl-rustls.m4: keep existing `CPPFLAGS`/`LDFLAGS` when detected
- curl.h: mark two error codes as obsolete
- curl: --continue-at is mutually exclusive with --no-clobber
- curl: --continue-at is mutually exclusive with --range
- curl: --continue-at is mutually exclusive with --remove-on-error
- curl: --test-duphandle in debug builds runs "duphandled"
- curl: do more command line parsing in sub functions
- curl: rename struct var to fix AIX build
- curl: use realtime in trace timestamps
- curl_multi_socket_all.md: soften the deprecation warning
- CURLOPT_PREREQFUNCTION.md: add result code on failure
- digest: produce a shorter cnonce in Digest headers
- DISTROS: update Alt Linux links
- dmaketgz: use --no-cache when building docker image
- docs: bring back ALTSVC.md and HSTS.md
- docs: document default `User-Agent`
- docs: suggest --ssl-reqd instead of --ftp-ssl
- duphandle: also init netrc
- ECH: enable support for the AWS-LC backend
- hostip: don't use the resolver for FQDN localhost
- http_negotiate: allow for a one byte larger channel binding buffer
- http_proxy: move dynhds_add_custom here from http.c
- KNOWN_BUGS: setting a disabled option should return CURLE_NOT_BUILT_IN
- krb5: fix socket/sockindex confusion, MSVC compiler warnings
- lib: fixes for wolfSSL OPENSSL_COEXIST
- libssh: use libssh sftp_aio to upload file
- libssh: when using IPv6 numerical address, add brackets
- macos: disable gcc `availability` workaround as needed
- mbedtls: call psa_crypt_init() in global init
- mime: fix reader stall on small read lengths
- mk-ca-bundle: remove CKA_NSS_SERVER_DISTRUST_AFTER conditions
- mprintf: fix the integer overflow checks
- multi: add clarifying comment for wakeup_write()
- multi: fix callback for `CURLMOPT_TIMERFUNCTION` not being called again when...
- netrc: address several netrc parser flaws
- netrc: support large file, longer lines, longer tokens
- nghttp2: use custom memory functions
- OpenSSL: improvde error message on expired certificate
- openssl: remove three "Useless Assignments"
- openssl: stop using SSL_CTX_ function prefix for our functions
- os400: Fix IBMi builds
- os400: Fix IBMi EBCDIC conversion of arguments
- pytest: add test for use of CURLMOPT_MAX_HOST_CONNECTIONS
- rtsp: check EOS in the RTSP receive and return an error code
- schannel: remove TLS 1.3 ciphersuite-list support
- setopt: fix CURLOPT_HTTP_CONTENT_DECODING
- setopt: fix missing options for builds without HTTP & MQTT
- show-headers.md: clarify the headers are saved with the data
- socket: handle binding to "host!<ip>"
- socketpair: fix enabling `USE_EVENTFD`
- strtok: use namespaced `strtok_r` macro instead of redefining it
- tests: add the ending time stamp in testcurl.pl
- tests: re-enable 2086, and 472, 1299, 1613 for Windows
- TODO: consider OCSP stapling by default
- tool_formparse: remove use of sscanf()
- tool_getparam: parse --localport without using sscanf
- tool_getpass: fix UWP `-Wnull-dereference`
- tool_getpass: replace `getch()` call with `_getch()` on Windows
- tool_urlglob: parse character globbing range without sscanf
- vtls: fix compile warning when ALPN is not available