TL;DR #
curl http://example.com/index.html --resolve "example.com:80:127.0.0.1"
curl https://example.com/index.html --resolve "example.com:443:127.0.0.1"
Nadpisanie rozwiązywanie nazwy hosta example.com na portach 80 oraz 443, w trakcie używania curl.
MAN #
--resolve <[+]host:port:addr[,addr]...>
Provide a custom address for a specific host and port pair. Us‐
ing this, you can make the curl requests(s) use a specified ad‐
dress and prevent the otherwise normally resolved address to be
used. Consider it a sort of /etc/hosts alternative provided on
the command line. The port number should be the number used for
the specific protocol the host will be used for. It means you
need several entries if you want to provide address for the same
host but different ports.
By specifying '*' as host you can tell curl to resolve any host
and specific port pair to the specified address. Wildcard is re‐
solved last so any --resolve with a specific host and port will
be used first.
The provided address set by this option will be used even if -4,
--ipv4 or -6, --ipv6 is set to make curl use another IP version.
By prefixing the host with a '+' you can make the entry time out
after curl's default timeout (1 minute). Note that this will
only make sense for long running parallel transfers with a lot
of files. In such cases, if this option is used curl will try to
resolve the host as it normally would once the timeout has ex‐
pired.
Support for providing the IP address within [brackets] was added
in 7.57.0.
Support for providing multiple IP addresses per entry was added
in 7.59.0.
Support for resolving with wildcard was added in 7.64.0.
Support for the '+' prefix was was added in 7.75.0.
This option can be used many times to add many host names to re‐
solve.
Example:
curl --resolve example.com:443:127.0.0.1 https://example.com
See also --connect-to and --alt-svc.