Celeb Glow
general | March 19, 2026

curl --resolve option not working: "Hostname was NOT found in DNS cache"

I am attempting to use curl's --resolve option to connect to the specified IP address when performing the HTTP request, but curl keeps reverting back to the IP address as retrieved by my local DNS cache/resolver.

Command:

curl -s -S -I -H "Host: example.com" --resolve example.com:80:1.1.1.1 --verbose 

(where example.com is replaced by my domain name, and 1.1.1.1 replaced by the desired destination IP address)

Result:

* Added example.com:80:1.1.1.1 to DNS cache
* Hostname was NOT found in DNS cache
* Trying 2.2.2.2...
* Connected to example.com (2.2.2.2) port 80 (#0)
> HEAD / HTTP/1.1
> User-Agent: curl/7.35.0
> Accept: */*
> Host: example.com

(where 2.2.2.2 is replaced by the IP address cached in my local DNS resolver for my domain name)

So, it looks like curl attempts to add 1.1.1.1 to the DNS cache for example.com, but fails somehow and reverts back to original IP address.

Any ideas on how to fix this problem or troubleshoot further to find out why its not working?

1 Answer

After trying this with other domain names, I found that the issue was being caused by the domain names not matching in the --resolve option and the URL (one had www, the other didn't). User error!

Incorrect:

curl -s -S -I -H "Host: example.com" --resolve example.com:80:1.1.1.1 --verbose 

Correct:

curl -s -S -I -H "Host: example.com" --resolve example.com:80:1.1.1.1 --verbose 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy