2024-05-15 15:20:32 -04:00
|
|
|
---
|
2023-12-11 20:30:44 -05:00
|
|
|
c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
|
|
SPDX-License-Identifier: curl
|
|
|
|
Long: config
|
|
|
|
Arg: <file>
|
|
|
|
Help: Read config from a file
|
|
|
|
Short: K
|
|
|
|
Category: curl
|
|
|
|
Added: 4.10
|
|
|
|
Multi: append
|
2024-05-15 15:20:32 -04:00
|
|
|
See-also:
|
|
|
|
- disable
|
|
|
|
Example:
|
|
|
|
- --config file.txt $URL
|
2023-12-11 20:30:44 -05:00
|
|
|
---
|
2024-05-15 15:20:32 -04:00
|
|
|
|
|
|
|
# `--config`
|
|
|
|
|
2023-12-11 20:30:44 -05:00
|
|
|
Specify a text file to read curl arguments from. The command line arguments
|
|
|
|
found in the text file are used as if they were provided on the command
|
|
|
|
line.
|
|
|
|
|
|
|
|
Options and their parameters must be specified on the same line in the file,
|
|
|
|
separated by whitespace, colon, or the equals sign. Long option names can
|
|
|
|
optionally be given in the config file without the initial double dashes and
|
|
|
|
if so, the colon or equals characters can be used as separators. If the option
|
|
|
|
is specified with one or two dashes, there can be no colon or equals character
|
|
|
|
between the option and its parameter.
|
|
|
|
|
|
|
|
If the parameter contains whitespace or starts with a colon (:) or equals sign
|
2024-05-15 15:20:32 -04:00
|
|
|
(=), it must be specified enclosed within double quotes ("like this"). Within
|
|
|
|
double quotes the following escape sequences are available: \\, \", \t, \n, \r
|
|
|
|
and \v. A backslash preceding any other letter is ignored.
|
2023-12-11 20:30:44 -05:00
|
|
|
|
|
|
|
If the first non-blank column of a config line is a '#' character, that line
|
|
|
|
is treated as a comment.
|
|
|
|
|
|
|
|
Only write one option per physical line in the config file. A single line is
|
|
|
|
required to be no more than 10 megabytes (since 8.2.0).
|
|
|
|
|
2024-05-15 15:20:32 -04:00
|
|
|
Specify the filename to --config as minus "-" to make curl read the file from
|
|
|
|
stdin.
|
2023-12-11 20:30:44 -05:00
|
|
|
|
|
|
|
Note that to be able to specify a URL in the config file, you need to specify
|
|
|
|
it using the --url option, and not by simply writing the URL on its own
|
|
|
|
line. So, it could look similar to this:
|
|
|
|
|
2024-05-15 15:20:32 -04:00
|
|
|
url = "https://curl.se/docs/"
|
2023-12-11 20:30:44 -05:00
|
|
|
|
2024-05-15 15:20:32 -04:00
|
|
|
# --- Example file ---
|
|
|
|
# this is a comment
|
|
|
|
url = "example.com"
|
|
|
|
output = "curlhere.html"
|
|
|
|
user-agent = "superagent/1.0"
|
2023-12-11 20:30:44 -05:00
|
|
|
|
2024-05-15 15:20:32 -04:00
|
|
|
# and fetch another URL too
|
|
|
|
url = "example.com/docs/manpage.html"
|
|
|
|
-O
|
|
|
|
referer = "http://nowhereatall.example.com/"
|
|
|
|
# --- End of example file ---
|
2023-12-11 20:30:44 -05:00
|
|
|
|
|
|
|
When curl is invoked, it (unless --disable is used) checks for a default
|
|
|
|
config file and uses it if found, even when --config is used. The default
|
|
|
|
config file is checked for in the following places in this order:
|
|
|
|
|
|
|
|
1) **"$CURL_HOME/.curlrc"**
|
|
|
|
|
|
|
|
2) **"$XDG_CONFIG_HOME/curlrc"** (Added in 7.73.0)
|
|
|
|
|
|
|
|
3) **"$HOME/.curlrc"**
|
|
|
|
|
2024-05-15 15:20:32 -04:00
|
|
|
4) Windows: **"%USERPROFILE%\.curlrc"**
|
2023-12-11 20:30:44 -05:00
|
|
|
|
2024-05-15 15:20:32 -04:00
|
|
|
5) Windows: **"%APPDATA%\.curlrc"**
|
2023-12-11 20:30:44 -05:00
|
|
|
|
2024-05-15 15:20:32 -04:00
|
|
|
6) Windows: **"%USERPROFILE%\Application Data\.curlrc"**
|
2023-12-11 20:30:44 -05:00
|
|
|
|
|
|
|
7) Non-Windows: use getpwuid to find the home directory
|
|
|
|
|
|
|
|
8) On Windows, if it finds no *.curlrc* file in the sequence described above, it
|
2024-05-15 15:20:32 -04:00
|
|
|
checks for one in the same directory the curl executable is placed.
|
2023-12-11 20:30:44 -05:00
|
|
|
|
|
|
|
On Windows two filenames are checked per location: *.curlrc* and *_curlrc*,
|
|
|
|
preferring the former. Older versions on Windows checked for *_curlrc* only.
|