A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS. libcurl offers a myriad of powerful features
Go to file
Daniel Stenberg 98d9dc7840 URL-parsing: consider ? a divider
The URL parser got a little stricter as it now considers a ? to be a
host name divider so that the slightly sloppier URLs work too. The
problem that made me do this change was the reported problem with an URL
like: www.example.com?email=name@example.com This form of URL is not
really a legal URL (due to the missing slash after the host name) but is
widely accepted by all major browsers and libcurl also already accepted
it, it was just the '@' letter that triggered the problem now.

The side-effect of this change is that now libcurl no longer accepts the
?  letter as part of user-name or password when given in the URL, which
it used to accept (and is tested in test 191). That letter is however
mentioned in RFC3986 to be required to be percent encoded since it is
used as a divider.

Bug: http://curl.haxx.se/bug/view.cgi?id=3090268
2010-10-19 20:20:06 +02:00
CMake CMake fixes for Linux. 2010-03-24 14:07:18 -04:00
docs curl_easy_setopt.3: spellfix 2010-10-19 17:50:10 +02:00
include curlver.h: start over at 7.21.3 2010-10-13 00:21:39 +02:00
lib URL-parsing: consider ? a divider 2010-10-19 20:20:06 +02:00
m4 duphandle: use ares_dup() 2010-09-21 16:41:14 +02:00
packages Add gopher protocol definition to ILE/RPG binding. 2010-09-29 16:56:57 +02:00
perl remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
src options: check for features for some options 2010-10-14 22:18:55 +02:00
tests URL-parsing: consider ? a divider 2010-10-19 20:20:06 +02:00
.gitattributes Add .gitattributes files to turn off CRLF translation for some files 2010-03-24 23:48:35 -04:00
.gitignore ignore: CHANGES.dist gets generated by maketgz 2010-06-21 22:42:11 +02:00
acinclude.m4 Link curl and the test apps with -lrt explicitly when necessary 2010-09-11 17:08:23 -07:00
Android.mk Fixed typo in Android configure command 2010-08-10 21:36:27 -07:00
buildconf In the m4 detection line, factor out the 2>dev/null 2010-08-28 22:51:22 +02:00
buildconf.bat modified to use the git file, not cvs 2010-04-11 11:35:33 +02:00
CHANGES CHANGES: move all contents from CHANGES to CHANGES.0 2010-06-21 22:27:39 +02:00
CHANGES.0 CHANGES: move all contents from CHANGES to CHANGES.0 2010-06-21 22:27:39 +02:00
CMakeLists.txt CMake: Build fix. 2010-10-12 23:25:51 +02:00
configure.ac configure: Fix the LDAPS disable message 2010-09-22 23:14:55 +02:00
COPYING update the generic copyright year range to include 2010 2010-03-02 13:47:58 +00:00
CTestConfig.cmake ENH: move dashboard location 2009-07-15 19:40:46 +00:00
curl-config.in curl-config: --built-shared returns shared info 2010-07-25 17:48:07 +02:00
curl-style.el remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
GIT-INFO s/CVS/git 2010-03-22 00:41:34 +01:00
install-sh removed trailing whitespace 2010-02-14 19:40:18 +00:00
libcurl.pc.in remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
log2changes.pl log2changes: correct command line, fix tag usage, change Version output 2010-06-21 22:21:25 +02:00
MacOSX-Framework MacOSX-Framework: updates for Snowleopard 2010-09-21 00:07:45 +02:00
Makefile.am remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
Makefile.dist Added MingW32 rtmp target; changed Watcom targets. 2010-10-13 16:38:24 +02:00
maketgz Added some hacks in order to build with VC from git. 2010-09-02 00:22:41 +02:00
missing renamed generated config.h to curl_config.h in order to avoid clashes when libcurl is used with other projects which also have a config.h. 2009-07-14 13:25:14 +00:00
mkinstalldirs remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
README various changes of CVS to git 2010-03-22 00:34:09 +01:00
RELEASE-NOTES RELEASE-NOTES: sync with 09a2d93a0f 2010-10-17 18:55:36 +02:00
sample.emacs remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
TODO-RELEASE TODO-RELEASE: cleanup for 7.21.3 works 2010-10-17 18:56:30 +02:00
vc6curl.dsw Renamed vc6 workspace and project files to avoid filename clash when used for conversion to later VS versions. 2009-05-08 17:51:44 +00:00

                                  _   _ ____  _
                              ___| | | |  _ \| |
                             / __| | | | |_) | |
                            | (__| |_| |  _ <| |___
                             \___|\___/|_| \_\_____|

README

  Curl is a command line tool for transferring data specified with URL
  syntax. Find out how to use curl by reading the curl.1 man page or the
  MANUAL document. Find out how to install Curl by reading the INSTALL
  document.

  libcurl is the library curl is using to do its job. It is readily
  available to be used by your software. Read the libcurl.3 man page to
  learn how!

  You find answers to the most frequent questions we get in the FAQ document.

  Study the COPYING file for distribution terms and similar. If you distribute
  curl binaries or other binaries that involve libcurl, you might enjoy the
  LICENSE-MIXING document.

CONTACT

  If you have problems, questions, ideas or suggestions, please contact us
  by posting to a suitable mailing list. See http://curl.haxx.se/mail/

  All contributors to the project are listed in the THANKS document.

WEB SITE

  Visit the curl web site for the latest news and downloads:

        http://curl.haxx.se/

GIT

  To download the very latest source off the GIT server do this:

    git clone git://github.com/bagder/curl.git

  (you'll get a directory named curl created, filled with the source code)

NOTICE

  Curl contains pieces of source code that is Copyright (c) 1998, 1999
  Kungliga Tekniska Högskolan. This notice is included here to comply with the
  distribution terms.