Command line tool and library for transferring data with URLs!

cURL

cURL

  -  6.3 MB  -  Freeware
  • Latest Version

    cURL 8.12.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.12.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:
- all: remove FIXME and TODO comments
- asyn-thread: fix build with `CURL_DISABLE_SOCKETPAIR`
- asyn-thread: fix HTTPS RR crash
- asyn-thread: fix the returned bitmask from Curl_resolver_getsock
- asyn-thread: survive a c-ares channel set to NULL
- build: add tool_hugehelp.c into IBMi build
- checksrc.pl: warn on FIXME/TODO comments
- cmake/Find: set `<Modulename>_FOUND` for compatibility when found via `pkg-config`
- cmake: add integration tests, run them in CI
- cmake: always reference OpenSSL and ZLIB via imported targets
- cmake: avoid unnecessary `-L` for implicit link dirs
- cmake: drop `LDAP_DEPRECATED=1` macro, to sync with autotools
- cmake: fix `HAVE_GETHOSTBYNAME_R_*` detections with `CURL_WERROR=ON`
- cmake: fix to detect `HAVE_OPENSSL_SRP` in MSVC UWP builds
- cmake: fix/add missing feature detections for Windows/MS-DOS
- cmake: initialize variables where missing
- cmake: lib order fixes for picky linkers (e.g. binutils `ld`)
- cmake: normalize before matching paths with syspaths
- cmake: respect `GNUTLS_CFLAGS` when detected via `pkg-config`
- cmake: respect `GNUTLS_LIBRARY_DIRS` in `libcurl.pc` and `curl-config`
- cmake: save a line with `CMAKE_C_IMPLICIT_LINK_DIRECTORIES` exclusion
- cmake: tidy up string append and list prepend syntax
- configure/cmake: check for realpath
- configure/cmake: set asyn-rr a feature only if httpsrr is enabled
- content_encoding: #error on too old zlib
- curl_global_sslset.md: Add SSL backend names
- CURLOPT_SSH_KNOWNHOSTS.md: strongly recommend using this
- CURLSHOPT_SHARE.md: adjust for the new SSL session cache
- docs: better explain multi-part byte range behavior
- docs: use valid example domain names
- generate.bat: remove curl_get_line.c from the curlx file list
- header.md: mention `Authorization:` and `Cookie:` special treatment
- imap: TLS upgrade fix
- INTERNALS: fix c-ares, as we actually support 1.6.0 or later
- ldap: drop support for legacy Novell LDAP SDK
- lib: include necessary headers for `inet_ntop`/`inet_pton`
- lib: silence LibreSSL collision warning on non-MSVC Windows
- libssh2: comparison is always true because rc <= -1
- libssh2: raise lowest supported version to 1.2.8
- libssh: drop support for libssh older than 0.9.0
- libssh: silence `-Wconversion` with a cast (Windows 32-bit)
- netrc: return code cleanup, fix missing file error
- openssl-quic: ignore ciphers for h3
- openssl: fix out of scope variables in goto
- pop3: TLS upgrade fix
- runtests: fix the disabling of the memory tracking
- runtests: quote commands to support paths with spaces
- scache: add magic checks
- smb: silence `-Warray-bounds` with gcc 13+
- smtp: TLS upgrade fix
- SPONSORS.md: clarify that we don't promise goods or services
- test1516: avoid failure due to spaces in path
- test2080: simplify, avoid the null byte
- tests: fix test 558, 1330 for MSVC, allow TrackMemory with MSVC in cmake
- tidy-up: make per-file `ARRAYSIZE` macros global as `CURL_ARRAYSIZE`
- tool_cfgable: sort struct fields by size, use bitfields for booleans
- tool_getparam: add "TLS required" flag for each such option
- tool_progress: fix percent output of large parallel transfers
- tool_ssls: switch to tool-specific get_line function
- verbose.md: mention how carriage-return might occur in headers
- vquic: make the "disable GSO" use infof, not failf
- vtls: fix multissl-init
- vtsl: eliminate 'data->state.ssl_scache'
- wakeup_write: make sure the eventfd write sends eight bytes
- wolfssl: silence compiler warning (MSVC 2019), simplify existing