我们经常会遇到这样一种场景:某一个服务更换了 IP,或者部署在多个服务器上,或许还使用了 CDN。我只是想临时测试一下某个 IP,如果直接修改 DNS 解析或者修改 CDN 回源地址,可能会影响到用户的访问(万一这个 IP 就是有问题呢?),有没有别的办法可以达成这个目的?

假设我想访问 http://fuckcloudnative.io 这个域名,并且指定解析的 IP 地址为 1.1.1.1。

你可能会觉得这个问题很简单,添加一条 hosts 不就行了嘛:

1.1.1.1 fuckcloudnative.io

OK,这个方法没问题,但你可能需要刷新本地 DNS 缓存,或者需要在浏览器中强制刷新。当你测试完了之后,还得能想起来去删掉这条 hosts。

大多数情况下我们都是用 curl 来测试服务,你可以选择修改 /etc/hosts 来达到目的,但这种方法总归比较麻烦,如果能在 curl 的命令中直接指定域名的 IP 地址,那就更好了。

大部分人熟知的方法是覆盖 Host HTTP Header:

$ curl -H "Host: fuckcloudnative.io" http://1.1.1.1/

这个方法在很长一段时间里都是百分之百有效的,但如今是 HTTPS 的世界,这种方法在 HTTPS 的世界里会出现各种问题。今天我将告诉大家一个新的参数 --resolve

--resolve <host:port:address[,address]...>Provide a custom address for a  specific  host  and  port  pair.Using  this,  you  can make the curl requests(s) use a specifiedaddress and prevent the otherwise normally resolved  address  tobe  used.

利用这个参数,我们可以随心所欲地指定域名解析的 IP,不管是 HTTP 还是 HTTPS。例如:

$ curl http://fuckcloudnative.io/ --resolve fuckcloudnative.io:80:1.1.1.1
$ curl https://fuckcloudnative.io/ --resolve fuckcloudnative.io:443:1.1.1.1

还有更高级的用法,比如使用 * 作为通配符,这样请求中调用的所有 Host 都会转到你指定的 IP:

$ curl https://fuckcloudnative.io/ --resolve *:443:1.1.1.1

是不是很好玩?

听过K8S玩家都关注了它

后台回复◉k8s◉获取史上最方便快捷的 Kubernetes 高可用部署工具

只需一条命令,连 ssh 都不需要!

【往期推荐】

将 Docker 踢出群聊后,Kubernetes 还能否欢快地蹦跶吗?

2020-12-06

Redis面试突击专用

2020-12-06

殊途同归!招聘软件与社交软件最终都要走向约P宿命?

2020-12-05

Spring-Retry重试实现原理

2020-12-05

今年最后一月数据库排名公布!前三难以撼动!

2020-12-04

8 种常见的SQL错误用法

2020-12-04

深度内容

推荐加入

用了这么多年 curl,竟然不知道还有这种用法?!相关推荐

  1. 用了这么久 IDEA,你竟然不知道有个功能叫自动补全!

    点击关注公众号,Java干货及时送达 来源:dwz.cn/hlQEDFne IDEA 有个很牛逼的功能,那就是后缀补全(不是自动补全),很多人竟然不知道这个操作,还在手动敲代码. 这个功能可以使用代码 ...

  2. 作为一名Java程序员,你竟然不知道Instrumentation

    转载自  作为一名Java程序员,你竟然不知道Instrumentation 作者:Yilun Fan  来源:http://1t.click/fMA 对于Java 程序员来说,Java Instru ...

  3. 使用计算机的场所和用途,天天在使用计算机,很多东西我竟然不知道!

    原标题:天天在使用计算机,很多东西我竟然不知道! 按照不同角度,计算机有以下几种分类的方式. 1.根据计算机所处理数据的类型划分 可将计算机分为数字电子计算机.模拟电子计算机. 数字电子计算机所处理的 ...

  4. 天啊!原来旧手机这么值钱!竟然不知道丨实用

    天啊!原来旧手机这么值钱!竟然不知道丨实用 如今,智能手机更迭速度真是快.喜欢尝鲜的人嘴里喊着"求剁手",还是忍不住买买买换换换.于是家里淘汰下来一堆旧手机,送人,别人未必瞧得上: ...

  5. Curl运维命令 - 日常用法总结

    在Linux系统中,curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载操作,是综合传输工具,习惯上称url为下载工具.下面就日常运 ...

  6. idea代码补全声明代码_用了这么多年idea,竟然不知道这些代码补全功能

    先上图,不知道大家写代码注意到没,因为也没有人告诉我,网上今天才发现这个技巧,所以推荐给大家,如果你知道,那就路过即可... if相关 定义一个boolean类型的变量flag和一个String类型的 ...

  7. 手机照片局部放大镜_PPT用了这么多年,竟然还不知道放大镜是这么做的!好惭愧…...

    某天,一个朋友给我发来一张照片,表达她正在享受悠闲时光,而我却注意到她上班不用打卡了~ 聪明的你能猜出来,我是怎么知道的么? 通常,我们会点击放大图片,仔细观察就能发现后边的打卡机是关着的,因此不用打 ...

  8. 你太菜了,竟然不知道Code Review...

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:宝玉   来源:http://1t.click/aA4h 我 ...

  9. DCT如此重要,作者当初竟然不知道?

    点击上方"LiveVideoStack"关注我们 作者 | Alex.赵军 技术审校 | 赵军 Nasir Ahmed 声影传奇 #003# 前段时间,LiveVideoStack ...

最新文章

  1. 个人建议:设置Alt+S快捷键来控制VSCode自动保存切换功能
  2. 01-迭代开发的基本需求和Scrum标准
  3. Istio 中的授权策略详解
  4. 洛谷 - P1361 - 小M的作物 - 最小割 - 最大权闭合子图
  5. 浅析Java内存模型
  6. shell调用函数并获取函数返回值
  7. 雷军:到了40岁觉得自己一事无成
  8. html背景图片只显示一张图片,img只显示图片一部分 或 css设置背景图片只显示图片指定区域(示例代码)...
  9. 浅析SVM中的对偶问题
  10. 物联网处理器五大类型应用分析指南
  11. python源码中的学习笔记_第11章_模块与包
  12. 怎么避免后台被搜索_优化亚马逊后台关键词的6个技巧,让买家快速找到你
  13. EasyStack郭长波连任OpenStack基金会独立董事
  14. 缺少 mysql 扩展_解决phpmyadmin中缺少mysqli扩展问题的方法
  15. 微软官方 Windows 10 更新安装失败的解决办法
  16. 使用plsql登陆oracle数据库,使用PLSQL 创建Oracle数据库用户
  17. Golang 给视频添加背景音乐 | Golang工具
  18. 阿里旺旺自动回复工具开发一
  19. 爬虫实战【12】使用cookie登陆豆瓣电影以及获取单个电影的所有短评
  20. 像差校正的一些常用方法

热门文章

  1. 我们学校的DV作品——《感悟青春》
  2. linux centos 丢失 grub.conf 启动系统
  3. golang new make 区别
  4. linux ssh -R 代理不同内网主机互连
  5. Linux chmod命令修改文件与文件夹权限命令代码
  6. zlib 1.2.5 编译 ( VS2010 vc6 )
  7. 为学Linux,我看了这些书
  8. UNIX中的文件控制--fcntl()
  9. Shell编程基入门
  10. 怎么修改与服务器的操作系统,怎么修改与服务器的操作系统