cURL — это служебная программа командной строки для передачи файлов с синтаксом URL, поддерживающая FTP, FTPS, HTTP, HTTPS, TFTP, SCP, SFTP, Telnet, DICT, FILE и LDAP. cURL поддерживает сертификаты HTTPS, методы HTTP POST, HTTP PUT, загрузку на FTP, Kerberos, загрузку через формы HTTP, прокси, файлы cookie, проверку подлинности "имя пользователя + пароль" (базовую, дайджест, NTLM и Negotiate для HTTP, а также kerberos4 для FTP), возобновление передачи файла, туннелирование через прокси HTTP и много других функций. cURL — это свободное программное обеспечение, распространяемое под лицензией MIT.
Главная цель использования cURL состоит в том, чтобы автоматизировать передачу файлов или последовательность таких операций. Например, это хорошее средство для моделирования действий пользователя в веб-обозревателе.
Libcurl — это библиотека интерфейса API для передачи, которую пользователи могут встроить в свои программы; cURL действует как автономная обёртка для библиотеки libcurl. libcurl используется, чтобы обеспечить возможность передачи URL многочисленным приложениям (как открытым, так и коммерческим).
Для libcurl имеется более 30 различных привязок к языкам программирования.
* The 'ares' subtree has been removed from the source repository * smoother rate limiting * allow user+password in the URL for all protocols * POP3: Get message listing if no mailbox in URL
Bugfixes:
* VMS builder bad behavior when used in a batch job * multiple recepients with SMTP * fixed the CURL_FORMAT_* defines when building with cmake * missing quote in libcurl.m4 * SMTP: now waits for 250 after the DATA transfer * SMTP: use angle brackets in RCPT TO * curl --trace-time not using local time * off-by-one in the chunked encoding trailer parser * superfluous blocking for OpenSSL-based SSL connects and multi interface * TFTP upload * FTP timeouts after file transferred completely * skip poll() on Interix * CURLOPT_CERTINFO memory leak * sub-second timeouts improvements * configure fixes for GSSAPI * threaded resolver double free when closing curl handle * configure fixes for building with the clang compiler * easy interix rate limiting logic * curl_multi_remove_handle() caused use after free * TFTP improved error codes * TFTP fixed TSIZE handling for uploads * SSL possible double free when reusing curl handle * alarm()-based DNS timeout bug * re-used FTP connection multi interface crash * chunked-encoding with Content-Length: header problem * multi interface HTTP POST over a proxy using PROXYTUNNEL * RTSP GET_PARAMETER * timeout after last data chunk was handled * SFTP download hang * FTP quote commands prefixed with '*' now can fail without aborting Downloads (~2,0 Mb)_http://curl.haxx.se/d...7.20.1.tar.bz2
ЭЖД, 16.06.2010 - 18:36
curl 7.21.0
Changes:
* added the --proto and -proto-redir options * new configure option --enable-threaded-resolver * improve TELNET ability with libcurl * added support for PolarSSL * added support for FTP wildcard matching and downloads * added support for RTMP * introducing new LDAP code for new enough OpenLDAP * OpenLDAP support enabled for cygwin builds * added CURLINFO_PRIMARY_PORT, CURLINFO_LOCAL_IP and CURLINFO_LOCAL_PORT
Bugfixes:
* prevent needless reverse name lookups * detect GSS on ancient Linux distros * GnuTLS: EOF caused error when it wasn't * GnuTLS: SSL handshake phase is non-blocking * -J/--remote-header-name strips CRLF * MSVC makefiles now use ws2_32.lib instead of wsock32.lib * -O crash on windows * SSL handshake timeout underflow in libcurl-NSS * multi interface missed storing connection time * broken CRL support in libcurl-NSS * ignore response-body on redirect even if compressed * OpenSSL handshake state-machine for multi interface * TFTP timeout option sent correctly * TFTP block id wrap * curl_multi_socket_action() timeout handles inaccuracy in timers better * SCP/SFTP failure to respect the timeout * spurious SSL connection aborts with OpenSSL Downloads (~2,0 Mb)_http://curl.haxx.se/d...7.21.0.tar.bz2
ЭЖД, 22.08.2010 - 11:40
curl 7.21.1
Changes:
* maketgz: produce CHANGES automatically * added support for NTLM authentication when compiled with NSS * build: Enable configure --enable-werror * curl-config: --built-shared returns shared info
Bugfixes:
* configure: spell --disable-threaded-resolver correctly * multi: call the progress callback in all states * multi: unmark handle as used when no longer head of pipeline * sendrecv: treat all negative values from send/recv as errors * ftp-wildcard: avoid tight loop when used without any pattern * multi_socket: re-use of same socket without notifying app * ftp wildcard: FTP LIST parser FIX * urlglobbing backslash escaping bug * build: add enable IPV6 option for the VC makefiles * multi: CURLINFO_LASTSOCKET doesn't work after remove_handle * --libcurl: use *_LARGE options with typecasted constants * --libcurl: hide setopt() calls setting default options * curl: avoid setting libcurl options to its default * --libcurl: list the tricky options instead of using [REMARK] * http: don't enable chunked during authentication negotiations * upload: warn users trying to upload from stdin with anyauth * configure: allow environments variable to override internals * threaded resolver: fix timeout issue * multi: fix condition that remove timers before trigger * examples: add curl_multi_timeout * --retry: access violation with URL part sets continued * ssh: Fix compile error on 64-bit systems. * remote-header-name: chop filename at next semicolon * ftp: response timeout bug in "quote" sending * CUSTOMREQUEST: shouldn't be disabled when HTTP is disabled * Watcom makefiles overhaul. * NTLM tests: boost coverage by forcing the hostname * multi: fix FTPS connecting the data connection with OpenSSL * retry: consider retrying even if -f is used * fix SOCKS problem when using multi interface * typecheck-gcc: add checks for recently added options * SCP: send large files properly with new enough libssh2 * multi_socket: set timeout for 100-continue * ";type=" URL suffix over HTTP proxy * acknowledge progress callback error returns during connect * Watcom makefile fixes * runtests: clear old setenv remainders before test Downloads (~2,0 Mb)_http://curl.haxx.se/d...7.21.1.tar.bz2
ЭЖД, 20.10.2010 - 17:05
curl 7.21.2
Changes:
* curl -T: ignore file size of special files * Added GOPHER protocol support * Added mk-ca-bundle.vbs script * c-ares build now requires c-ares >= 1.6.0
Bugfixes:
* --remote-header-name security vulnerability fixed * multi: support the timeouts correctly, fixes known bug #62 * multi: use timeouts properly for MAX_RECV/SEND_SPEED * negotiation: Wrong proxy authorization * multi: avoid sending multiple complete messages * cmdline: make -F type= accept ;charset= * RESUME_FROM: clarify what ftp uploads do * http: handle trailer headers in all chunked responses * Curl_is_connected: use correct errno * Added SSPI build to Watcom makefile * progress: callback for POSTs less than MAX_INITIAL_POST_SIZE * linking problem on Fedora 13 * Link curl and the test apps with -lrt explicitly when necessary * chunky parser: only rewind stream internally if needed * remote-header-name: don't output filename when NULL * Curl_timeleft: avoid returning "no timeout" by mistake * timeout: use the correct start value as offset * FTP: fix wrong timeout trigger * buildconf got better output on failures * rtsp: avoid SIGSEGV on malformed header * LDAP: Support for tunnelling queries through HTTP proxy * configure's --enable-werror had a bashism * test565: Don't hardcode IP:PORT * configure: check for gcrypt if using GnuTLS * configure: don't enable RTMP if the lib detect fails * curl_easy_duphandle: clone the c-ares handle correctly * MacOSX-Framework: updates for Snowleopard * support URL containing colon without trailing port number * parsedate: allow time specified without seconds * curl_easy_escape: don't escape "unreserved" characters * SFTP: avoid downloading negative sizes * Lots of GSS/KRB FTP fixes * TFTP: Work around tftpd-hpa upload bug * libcurl.m4: several fixes * HTTP: remove special case for 416 * examples: use example.com in example URLs * globbing: fix crash on unballanced open brace * cmake: build fixed Downloads (~2,0 Mb)_http://curl.haxx.se/d...7.21.2.tar.bz2
ЭЖД, 23.12.2010 - 19:58
curl 7.21.3
Changes:
Added --noconfigure switch to testcurl.pl Added --xattr option Added CURLOPT_RESOLVE and --resolve Added CURLAUTH_ONLY Added version-check.pl to the examples dir
Bugfixes:
check for libcurl features for some command line options Curl_setopt: disallow CURLOPT_USE_SSL without SSL support http_chunks: remove debug output URL-parsing: consider ? a divider SSH: avoid using the libssh2_ prefix SSH: use libssh2_session_handshake() to work on win64 ftp: prevent server from hanging on closed data connection when stopping a transfer before the end of the full transfer (ranges) LDAP: detect non-binary attributes properly ftp: treat server's response 421 as CURLE_OPERATION_TIMEDOUT gnutls->handshake: improved timeout handling security: Pass the right parameter to init krb5: Use GSS_ERROR to check for error TFTP: resend the correct data configure: fix autoconf 2.68 warning: no AC_LANG_SOURCE call detected GnuTLS: now detects socket errors on Windows symbols-in-versions: updated en masse added a couple examples that were missing from the tar ball Curl_send/recv_plain: return errno on failure Curl_wait_for_resolv (for c-ares): correct timeout ossl_connect_common: detect connection re-use configure: Prevent link errors with --librtmp openldap: use remote port in URL passed to ldap_init_fd() url: provide dead_connection flag in Curl_handler::disconnect lots of compiler warning fixes ssh: fix a download resume point calculation fix getinfo CURLINFO_LOCAL* for reused connections multi: the returned running handles conuter could turn negative multi: only ever consider pipelining for connections doing HTTP(S) Download (~2,1 Mb)_http://curl.haxx.se/d...7.21.3.tar.bz2