How to Use curl to Send Requests to Domains Without Editing Your /etc/hosts File

Featured image for sharing metadata for article

Sometimes you need to make requests to sites, but don't want to allow regular DNS lookups for the host. For instance, you may have a passive/side stack you need to test against, but can't get it working without the official DNS working.

Usually, the solution would be to update /etc/hosts, and hardcode the IP address. But that requires root privileges, and there's always the risk that you forget you made the change, resulting in pain in the future!

What we can do from curl v7.21.3 is use the --resolve flag, which allows forcing curl to not perform lookups, and instead use the IP address provided.

$ curl -i https://www.jvt.me --resolve www.jvt.me:443:167.99.129.42

Note that you need the port number in there!

Written by Jamie Tanna's profile image Jamie Tanna on , and last updated on .

Content for this article is shared under the terms of the Creative Commons Attribution Non Commercial Share Alike 4.0 International, and code is shared under the Apache License 2.0.

#blogumentation #command-line.

This post was filed under articles.

Interactions with this post

Interactions with this post

Below you can find the interactions that this page has had using WebMention.

Have you written a response to this post? Let me know the URL:

Do you not have a website set up with WebMention capabilities? You can use Comment Parade.