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

发布时间:2021-09-12

  这篇文章主要介绍“如何使用curl从命令行访问互联网”,在日常操作中,相信很多人在如何使用curl从命令行访问互联网问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用curl从命令行访问互联网”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

  curl通常被视作一款非交互式 Web 浏览器,这意味着它能够从互联网上获取信息,并在你的终端中显示,或将其保存到文件中。从表面看,这是 Web 浏览器,类似 Firefox 或 Chromium 所做的工作,只是它们默认情况下会渲染信息,而curl会下载并显示原始信息。实际上,curl命令可以做更多的事情,并且能够使用多种协议与服务器进行双向传输数据,这些协议包括 HTTP、FTP、SFTP、IMAP、POP3、LDAP、SMB、SMTP 等。对于普通终端用户来说,这是一个有用的工具;而对于系统管理员,这非常便捷;对于微服务和云开发人员来说,它是一个质量保证工具。

  curl被设计为在没有用户交互的情况下工作,因此与 Firefox 不同,你必须从头到尾考虑与在线数据的交互。例如,如果想要在 Firefox 中查看网页,你需要启动 Firefox 窗口。打开 Firefox 后,在地址栏或搜索引擎中输入要访问的网站。然后,导航到网站,然后单击要查看的页面。

  curl来说也是如此,不同之处在于你需要一次执行所有操作:在启动curl的同时提供需要访问的互联网地址,并告诉它是否要将数据保存在终端或文件中。当你必须与需要身份验证的网站或 API 进行交互时,会变得有点复杂,但是一旦你学习了curl命令语法,它就会变得自然而然。为了帮助你掌握它,我们在一个方便的备忘录中收集了相关的语法信息。

  使用 curl 下载文件curl命令下载文件。如果你提供的 URL 默认为index.html,那么将下载此页面,并将下载的文件显示在终端屏幕上。你可以将数据通过管道传递到less、tail或任何命令:

  使用 curl 列出带有远程目录的内容curl不是交互式的,所以很难浏览页面上的可下载元素。如果你要连接的远程服务器允许,可以使用curl来列出目录的内容:

  继续中断下载curl非常智能,可以确定下载从何处中断并继续下载。这意味着,下一次当你下载一个 4GB 的 Linux 发行版的 ISO 出现问题时,就不必重新开始了。--continue-at的语法有点不寻常:如果你知道下载中断时的字节数,你可以提供给curl;否则,你可以使用单独的一个破折号(-)指示 curl 自动检测:

  下载文件序列curl可以帮助你解决这个问题。假设你知道要下载的文件的位置和文件名模式,则可以使用curl的序列标记:中括号里是整数范围的起点和终点。对于输出文件名,使用#1表示第一个变量:

  从站点下载所有 PNG 文件curl和grep进行一些基本的 Web 抓取操作,以找到想要下载的内容。例如,假设你需要下载与正在归档网页关联的所有图像,首先,下载引用了图像的页面。将页面内通过管道传输到grep,搜索所需的图片类型(在此示例中为 PNG)。最后,创建一个while循环来构造下载 URL,并将文件保存到你的计算机:

  获取 HTML 头curl--head快速失败--show-error选项:

  由 3xx 响应指定的重定向查询curl不会进行 301 重定向,但你可以使用--localtion选项使其继续进入 301 响应指向的目标:

  展开短网址--location选项非常有用。短网址对于有字符限制的社交网络(当然,如果你使用现代和开源的社交网络的话,这可能不是问题),或者对于用户不能复制粘贴长地址的印刷媒体来说是有用处的。但是,它们也可能存在风险,因为其目的地址本质上是隐藏的。通过结合使用--head选项仅查看 HTTP 头,--location选项可以查看一个 URL 的最终地址,你可以查看一个短网址而无需加载其完整的资源:

  下载我们的 curl 备忘录curl就成为一种快速有效的方式,可以从互联网上获取所需的信息,而无需麻烦图形界面。为了帮助你适应到工作流中,我们创建了一个curl 备忘录,它包含常见的curl用法和语法,包括使用它查询 API 的概述。

  到此,关于“如何使用curl从命令行访问互联网”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注陆零云网站,小编会继续努力为大家带来更多实用的文章!

  

注册即送1000元现金券