Each single name resolve string should be written using the format HOST:PORT:ADDRESS[,ADDRESS]... where HOST is the name libcurl will try to resolve, PORT is the port number of the service where libcurl wants to connect to the HOST and ADDRESS is one or more numerical IP addresses. If you specify multiple ip addresses they need to be separated by comma. If libcurl is built to support IPv6, each of the ADDRESS entries can of course be either IPv4 or IPv6 style addressing.
This option effectively pre-populates the DNS cache with entries for the
host+port pair so redirects and everything that operations against the
HOST+PORT will instead use your provided ADDRESS. Addresses set with
#CURLOPT_RESOLVE will not time-out from the DNS cache like ordinary
If the DNS cache already have an entry for the given host+port pair, then this entry will be removed and a new entry will be created. This is because old entry may have have different addresses or be ordinary entries with time-outs.
The provided ADDRESS set by this option will be used even if
#CURLOPT_IPRESOLVE is set to make libcurl use another IP version.
Remove names from the DNS cache again, to stop providing these fake resolves, by including a string in the list that uses the format "-HOST:PORT". The host name must be prefixed with a dash, and the host name and port number must exactly match what was already added previously.
Support for providing the ADDRESS within [brackets] was added in 7.57.0.
Support for providing multiple IP addresses per entry was added in 7.59.0.