使用 curl 从命令行访问互联网


使用 curl 从命令行访问互联网
文章图片
这只是一个示例 , 但它展示了 curl 与 Unix 管道和一些基本而巧妙的解析结合使用时是多么的灵活 。
获取 HTML 头用于数据交换的协议在计算机发送通信的数据包中嵌入了大量元数据 。 HTTP 头是数据初始部分的组件 。 在连接一个网站出现问题时 , 查看这些报文头(尤其是响应码)会有所帮助:
curl --head ""HTTP/2 200accept-ranges: bytesage: 485487cache-control: max-age=604800content-type: text/html; charset=UTF-8date: Sun, 26 Apr 2020 09:02:09 GMTetag: "3147526947"expires: Sun, 03 May 2020 09:02:09 GMTlast-modified: Thu, 17 Oct 2019 07:18:26 GMTserver: ECS (sjc/4E76)x-cache: HITcontent-length: 1256快速失败响应 200 通常是 HTTP 成功指示符 , 这是你与服务器连接时通常期望的结果 。 著名的 404 响应表示找不到页面 , 而 500 则表示服务器在处理请求时出现了错误 。
要查看协商过程中发生了什么错误 , 添加 --show-error 选项:
$ curl --head --show-error ""除非你可以访问要连接的服务器 , 否则这些问题将很难解决 , 但是 curl 通常会尽力连接你指定的地址 。 有时在网络上进行测试时 , 无休止的重试似乎只会浪费时间 , 因此你可以使用 --fail-early 选项来强制 curl 在失败时迅速退出:
curl --fail-early ""由 3xx 响应指定的重定向查询【使用 curl 从命令行访问互联网】300 这个系列的响应更加灵活 。 具体来说 , 301 响应意味着一个 URL 已被永久移动到其它位置 。 对于网站管理员来说 , 重新定位内容并留下“痕迹”是一种常见的方式 , 这样访问旧地址的人们仍然可以找到它 。 默认情况下 , curl 不会进行 301 重定向 , 但你可以使用 --localtion 选项使其继续进入 301 响应指向的目标:
$ curl "" | grep title301 Moved Permanently$ curl --location ""Internet Assigned Numbers Authority展开短网址如果你想要在访问短网址之前先查看它们 , 那么 --location 选项非常有用 。 短网址对于有字符限制的社交网络(当然 , 如果你使用 现代和开源的社交网络 的话 , 这可能不是问题) , 或者对于用户不能复制粘贴长地址的印刷媒体来说是有用处的 。 但是 , 它们也可能存在风险 , 因为其目的地址本质上是隐藏的 。 通过结合使用 --head 选项仅查看 HTTP 头 , --location 选项可以查看一个 URL 的最终地址 , 你可以查看一个短网址而无需加载其完整的资源:
$ curl --head --location "<;"下载我们的 curl 备忘录一旦你开始考虑了将探索 web 由一条命令来完成 , 那么 curl 就成为一种快速有效的方式 , 可以从互联网上获取所需的信息 , 而无需麻烦图形界面 。 为了帮助你适应到工作流中 , 我们创建了一个 curl 备忘录, 它包含常见的 curl 用法和语法 , 包括使用它查询 API 的概述 。
via: opensource.com
作者: Seth Kenlon 选题: lujun9972 译者: MjSeven 校对: wxy
本文由 LCTT 原创编译 ,Linux中国 荣誉推出
点击“了解更多”可访问文内链接