使用 curl 列出带有远程目录的内容
1
| curl --list-only "https://example.com/foo/"
|
快速失败
响应 200 通常是 HTTP 成功指示符,这是你与服务器连接时通常期望的结果。著名的 404 响应表示找不到页面,而 500 则表示服务器在处理请求时出现了错误。
要查看协商过程中发生了什么错误,添加 –show-error 选项:
1
| curl --head --show-error "http://opensource.ga"
|
除非你可以访问要连接的服务器,否则这些问题将很难解决,但是 curl 通常会尽力连接你指定的地址。有时在网络上进行测试时,无休止的重试似乎只会浪费时间,因此你可以使用 –fail-early 选项来强制 curl 在失败时迅速退出:
1
| curl --fail-early "http://opensource.ga"
|
由 3xx 响应指定的重定向查询
300 这个系列的响应更加灵活。具体来说,301 响应意味着一个 URL 已被永久移动到其它位置。对于网站管理员来说,重新定位内容并留下“痕迹”是一种常见的方式,这样访问旧地址的人们仍然可以找到它。默认情况下,curl 不会进行 301 重定向,但你可以使用 –localtion 选项使其继续进入 301 响应指向的目标:
1 2 3 4
| $ curl "https://iana.org" | grep title <title>301 Moved Permanently</title> $ curl --location "https://iana.org" <title>Internet Assigned Numbers Authority</title>
|
展开短网址
如果你想要在访问短网址之前先查看它们,那么 –location 选项非常有用。短网址对于有字符限制的社交网络(当然,如果你使用现代和开源的社交网络的话,这可能不是问题),或者对于用户不能复制粘贴长地址的印刷媒体来说是有用处的。但是,它们也可能存在风险,因为其目的地址本质上是隐藏的。通过结合使用 –head 选项仅查看 HTTP 头,–location 选项可以查看一个 URL 的最终地址,你可以查看一个短网址而无需加载其完整的资源:
1
| $ curl --head --location "<https://bit.ly/2yDyS4T>"
|