使用 CURL 的“--resolve“选项将请求固定到 IP 地址

描述

在准备启动网站或调试已上线网站的问题时,有时在从网站请求内容时绕过 CDN 和代理层会很有帮助,方法是将这些 Web 请求直接发送到特定 IP 地址而不使用网站的公共DNS 记录。这种将 Web 请求直接“固定”到服务器的做法可以通过 更改您的 /etc/hosts 文件来完成,这将导致对指定域名(例如:“ www.example.com ”)的请求从您的本地计算机到指定的 IP 地址(例如:127.0.0.1),直到您对 /etc/hosts 所做的更改被还原。


背景

但是,如果您想在不修改系统配置文件的情况下将单个请求固定到 IP 地址怎么办?这种“临时”请求固定可以通过带有 curl 的命令行来实现,它提供了一个特殊的 resolve 选项 formatted --resolve [DOMAIN]:[PORT]:[IP],它可以路由在执行 CURL 命令期间执行的与给定 [DOMAIN] 和 [匹配的所有 Web 请求PORT] 到指定的 [IP] 地址。此选项指定的值(可以在单个命令中多次调用,以将多个域/端口组合路由到各种 IP 地址)将应用于初始请求,以及 CURL 在命令过程中遵循的任何重定向


命令如下所示:

curl http://www.example.com --resolve www.example.com:80:127.0.0.1

当通过端口 80 (HTTP)请求“ www.example.com ”时,将强制 CURL 使用“127.0.0.1”作为 IP 地址。

上面的命令可以扩展为如下所示:

curl http://www.example.com --resolve www.example.com:80:127.0.0.1 --resolve www.example.com:443:127.0.0.1

这将强制 CURL 使用“127.0.0.1”作为通过端口 80(HTTP 和443 (HTTPS))向“www.example.com ”请求的 IP 地址 。这对于自动重定向 HTTP 请求的站点很有用HTTPS 请求作为安全措施。

–resolve 可以为单个 CURL 命令多次指定(以及针对多个域/端口组合),允许您为您知道将在不同域和端口上多次重定向的请求建立复杂的路由规则。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘先生我在呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值