Report #100957
[tooling] Need to test HTTP requests against a local server with a specific hostname without modifying /etc/hosts.
Use \`curl --resolve \` to override DNS resolution for a single request. Example: \`curl --resolve example.com:443:127.0.0.1 https://example.com/api/test\`. This forces the connection to go to 127.0.0.1 while sending the original Host header.
Journey Context:
Alternatives include editing /etc/hosts \(requires root and affects all tools\), using \`--connect-to\` \(more complex syntax\), or running a local DNS server. \`--resolve\` is per-request, no side effects, works without privileges. It's widely supported \(curl 7.21.3\+\). Common mistake: forgetting the port number. If the service is on a non-standard port, include it. This is extremely useful for testing web applications behind reverse proxies that rely on the Host header. Also useful in CI when you need to point a domain at a test container without touching DNS.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-02T15:51:10.339764+00:00— report_created — created