curl/docs
Daniel Stenberg 9a8564a920
urlapi: URL decode percent-encoded host names
The host name is stored decoded and can be encoded when used to extract
the full URL. By default when extracting the URL, the host name will not
be URL encoded to work as similar as possible as before. When not URL
encoding the host name, the '%' character will however still be encoded.

Getting the URL with the CURLU_URLENCODE flag set will percent encode
the host name part.

As a bonus, setting the host name part with curl_url_set() no longer
accepts a name that contains space, CR or LF.

Test 1560 has been extended to verify percent encodings.

Reported-by: Noam Moshe
Reported-by: Sharon Brizinov
Reported-by: Raul Onitza-Klugman
Reported-by: Kirill Efimov
Fixes #7830
Closes #7834
2021-10-11 17:04:14 +02:00
..
cmdline-opts tool_listhelp: easier to generate with gen.pl 2021-09-30 17:50:48 +02:00
examples docs/examples: add missing binaries to gitignore 2021-10-06 10:46:00 +02:00
libcurl urlapi: URL decode percent-encoded host names 2021-10-11 17:04:14 +02:00
.gitignore
ALTSVC.md alt-svc: enable by default 2020-10-25 23:08:54 +01:00
BINDINGS.md BINDINGS: URL updates 2021-10-04 22:44:38 +02:00
BUFREF.md docs: correct spelling errors and a broken link 2021-07-18 21:14:36 +02:00
BUG-BOUNTY.md BUG-BOUNTY: removed the cooperation mention 2021-02-03 14:24:25 +01:00
BUGS.md docs: correct spelling errors and a broken link 2021-07-18 21:14:36 +02:00
CHECKSRC.md checksrc: complain on == NULL or != 0 checks in conditions 2021-04-22 09:10:17 +02:00
CIPHERS.md schannel: Support strong crypto option 2021-04-22 17:40:19 -04:00
CMakeLists.txt curl.se: new home 2020-11-04 23:59:47 +01:00
CODE_OF_CONDUCT.md
CODE_REVIEW.md docs: correct spelling errors and a broken link 2021-07-18 21:14:36 +02:00
CODE_STYLE.md CODE_STYLE-md: fix bold font style 2021-08-14 23:12:21 +02:00
CONTRIBUTE.md docs: correct spelling errors and a broken link 2021-07-18 21:14:36 +02:00
curl-config.1 curl.se: new home 2020-11-04 23:59:47 +01:00
CURL-DISABLE.md cmake: sync CURL_DISABLE options 2021-08-25 13:05:50 +02:00
DEPRECATE.md mailing lists: move from cool.haxx.se to lists.haxx.se 2021-08-30 09:51:07 +02:00
DYNBUF.md docs: enable syntax highlighting in several docs files 2020-12-11 18:06:41 +01:00
ECH.md docs: correct spelling errors and a broken link 2021-07-18 21:14:36 +02:00
EXPERIMENTAL.md hsts: enable by default 2021-04-19 08:22:16 +02:00
FAQ FAQ: add GOPHERS + curl works on data, not files 2021-09-15 14:33:05 +02:00
FEATURES.md metalink: remove 2021-06-07 08:14:25 +02:00
GOVERNANCE.md GOVERNANCE: add 'user', 'committer' and 'contributor' 2021-05-31 15:42:39 +02:00
HELP-US.md mailing lists: move from cool.haxx.se to lists.haxx.se 2021-08-30 09:51:07 +02:00
HISTORY.md docs: camelcase it like GitHub everywhere 2021-04-28 08:16:20 +02:00
HSTS.md HSTS: not experimental anymore 2021-05-28 12:34:07 +02:00
HTTP2.md docs: Remove outdated curl tool limitation 2021-06-15 03:19:32 -04:00
HTTP3.md HTTP3: fix the HTTP/3 Explained book link 2021-10-05 08:40:24 +02:00
HTTP-COOKIES.md HTTP-COOKIES.md: remove duplicate 'each' 2021-09-24 12:47:03 +02:00
HYPER.md test269: disable for hyper 2021-06-03 23:11:11 +02:00
INSTALL
INSTALL.cmake TLS naming: fix more Winssl and Darwinssl leftovers 2020-08-08 00:19:21 +02:00
INSTALL.md docs/INSTALL: remove mentions of configure --with-darwin-ssl 2021-06-06 23:55:32 +02:00
INTERNALS.md INTERNALS: c-ares has a new home: c-ares.org 2021-09-07 14:56:09 +02:00
KNOWN_BUGS KNOWN_BUGS: HTTP/2 connections through HTTPS proxy frequently stall 2021-09-27 10:05:16 +02:00
MAIL-ETIQUETTE curl.se: new home 2020-11-04 23:59:47 +01:00
Makefile.am bufref: buffer reference support 2021-04-22 09:05:53 +02:00
MANUAL.md metalink: remove 2021-06-07 08:14:25 +02:00
mk-ca-bundle.1 curl.se: new home 2020-11-04 23:59:47 +01:00
MQTT.md docs/MQTT: update state of username/password support 2021-07-22 00:06:15 +02:00
NEW-PROTOCOL.md docs: fix typos in NEW-PROTOCOL.md 2021-01-17 12:56:03 +01:00
options-in-versions libssh2: add SHA256 fingerprint support 2021-09-26 23:20:53 +02:00
PARALLEL-TRANSFERS.md docs: fix typos 2019-11-28 12:58:47 +01:00
README.md curl.se: new home 2020-11-04 23:59:47 +01:00
RELEASE-PROCEDURE.md RELEASE-PROCEDURE: add release dates from now to 8.0.0 in 2023 2021-09-13 16:32:41 +02:00
ROADMAP.md ROADMAP: refreshed 2021-01-14 09:49:17 +01:00
RUSTLS.md zuul: use the new rustls directory name 2021-06-30 08:19:31 +02:00
SECURITY-PROCESS.md SECURITY-PROCESS: tweak a little to match current practices 2021-09-13 16:26:30 +02:00
SSL-PROBLEMS.md docs: Fix typos 2021-07-03 22:11:26 +02:00
SSLCERTS.md curl.se: new home 2020-11-04 23:59:47 +01:00
THANKS THANKS: added names from the 7.79.1 release 2021-09-22 08:10:23 +02:00
THANKS-filter RELEASE-NOTES: synced 2021-08-25 13:13:49 +02:00
TheArtOfHttpScripting.md TheArtOfHttpScripting: polish 2021-07-16 23:51:17 +02:00
TODO sasl: binary messages 2021-10-02 23:30:37 +02:00
URL-SYNTAX.md URL-SYNTAX.md: document the new 'localhost' treatment 2021-05-31 15:37:37 +02:00
VERSIONS.md docs: enable syntax highlighting in several docs files 2020-12-11 18:06:41 +01:00

curl logo

Documentation

You'll find a mix of various documentation in this directory and subdirectories, using several different formats. Some of them are not ideal for reading directly in your browser.

If you'd rather see the rendered version of the documentation, check out the curl website's documentation section for general curl stuff or the libcurl section for libcurl related documentation.