卷曲的乐趣

cURL 是一个 Linux 命令,用于在服务器之间传输多种数据类型。 它利用 libcurl 库运行,它允许它使用以下协议来移动信息:

  • 远程登录
  • HTTP
  • FTP
  • 地图
  • POP3
  • SCP
  • SFTP
  • SMTP
  • TFTP
  • LDAP
  • 文件

检查站点的状态

为了检查网站是否可用,我们经常使用以下命令来获取 apache 响应代码,该代码指示该站点是否已启动、已关闭或处于需要处理的状态:

curl -Is https://domain.com | head -n 1
HTTP/1.1 200 OK
curl -I https://domain.com
HTTP/1.1 200 OK
Date: Sun, 16 Oct 2016 23:37:15 GMT
Server: Apache/2.4.23 (Unix)
X-Powered-By: PHP/5.6.24
Connection: close
Content-Type: text/html; charset=UTF-8

或者,要获取状态代码本身,请通过管道传递 curl 命令头 -n 1|cut -d$’ ‘ -f2

curl -I https://domain.com | head -n 1|cut -d$' ' -f2

要遵循重定向使用:

curl -L https://domain.com

使用 cURL 下载

如果您需要将文件下载到您所在的当前文件夹并希望保持相同的文件名,请运行:

root@server:~/test$ curl -O https://ipv4.download.thinkbroadband.com/5MB.zip
root@server:~/$ curl -O https://ipv4.download.thinkbroadband.com/5MB.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 5120k  100 5120k    0     0  2450k      0  0:00:02  0:00:02 --:--:-- 2450k
root@server:~/$ 

或者,如果您需要选择不同的位置或文件名,请使用

curl -o website.html https://domain.com/
root@server:~/$ curl -o newfile.zip https://ipv4.download.thinkbroadband.com/5MB.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 5120k  100 5120k    0     0  2311k      0  0:00:02  0:00:02 --:--:-- 2311k
root@server:~/test

在上面的命令中,我们下载了一个原名为 5MB.zip 的小文件,并保存为 newfile.zip。 cURL 也可用于同时下载多个文件,如下例所示:

curl -O [URL1] -O [URL2] -O [URL3] 
or
curl -O https://domain.com/file.pdf -O https://domain.com/file2.pdf

通过 SSH 下载文件

使用 cURL 的另一种流行方法是使用以下命令通过 SSH 安全下载文件:

curl -u root sftp://host.domain.com/path/to/file

使用 cURL 的 FTP

要使用 cURL 访问 FTP 服务器,请使用以下命令:

curl ftp://ftp.domain.com --user username:password

您还可以通过 FTP 使用 cURL 下载文件:

curl ftp://ftp.domain.com/file.txt --user username:password

此外,我们可以通过 cURL 将文件上传到 FTP 服务器:

curl -T file.txt ftp://ftp.domain.com/ --user username:password

注意:通过纯文本传递信息时请注意,因为这些只是使用示例。

使用 cURL 恢复损坏的下载

如果您正在下载文件并且由于某种原因失去了 Internet 连接,cURL 可以从中断的地方继续下载:

curl -O -C - https://domain.com.file.pdf

使用 cURL 获取您的 IP 地址

curl -s ip.BYNSS.com
curl checkip.amazonaws.com
curl ifconfig.me

使用 Curl 验证网站是否支持 HTTP/2

curl -I --http2 -s https://BYNSS.com/ | grep HTTP
HTTP/2 200

使用 cURL 扩展短链接

如果向您发送了不受信任的短链接,请使用以下命令验证其目的地:

curl -sIL https://lqwb.us/2kvCtvm | grep ^Location;

使用 cURL 和 transfer.sh 传输大文件

网站 transfer.sh 是一个简单的命令行文件共享服务,允许您传输高达 10G 的文件,并将文件存储长达 10 天。 如果需要,它们还允许对文件进行加密。 我们将使用它来上传和下载加密文件:

# Encrypt files with password using gpg
$ cat /test/test.txt|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt

#enter a passphrase twice and transfer.sh will then provide a link to download the encrypted file.

# To download and decrypt
$ curl https://transfer.sh/1h4tfs/test.txt|gpg -o- > /test/test.txt

使用 cURL 检查电子邮件

您可以通过命令行连接到 Gmail 以使用 cURL 检查未读邮件

curl -u username:password --silent "https://mail.google.com/mail/feed/atom" | grep -oPm1 "(?<=)[^<]+" | sed '1d'

curl -u username --silent "https://mail.google.com/mail/feed/atom" | perl -ne 'print "t" if //; print "$2n" if /<(title|name)>(.*)</1>/;'

卷曲天气!!!

curl https://wttr.in/lansing
curl https://v2.wttr.in/lansing

或月相!

curl wttr.in/Moon

cURL 随机数

curl "https://www.random.org/integers/?num=1&min=1&max=100&col=1&base=10&format=plain&rnd=new"

使用 cURL 获取备忘单

curl https://cht.sh

需要二维码吗? 卷曲

curl qrenco.de/BYNSS.com

冰壶和社交媒体

抓住最新的 YouTube 用户名的视频标题和 URL,来自 Liquidweb 的最新推文,或查看您最喜欢的 Twitch 频道。

curl -s https://decapi.me/youtube/latest_video?user=BYNSSinc
curl -s https://decapi.me/twitter/latest?name=BYNSS
curl -s https://decapi.me/twitch/uptime?channel=CHANNELNAME

此外,您可以使用 cURL 发布推文:

curl -u user:pass -d status="Tweeting from the shell" https://twitter.com/statuses/update.xml

使用 cURL 转换文档

curl 
  https://c.docverter.com/convert 
  -F from=html 
  -F to=pdf 
  -F input_files[]=@<(echo hello)

定义一个 Word 使用卷曲

cURL 可以连接到 dict.org 并为您定义一个词。 只需在“d:”之后添加您需要识别的单词即可;
(我们还通过“less”管道命令,因此我们可以更好地查看输出)

curl dict.org/d:website |less
 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   550    0   550    0     0   3179      0 --:--:-- --:--:-- --:--:--  3160
220 pan.alephnull.com dictd 1.12.1/rf on Linux 4.4.0-1-amd64 <auth.mime> <[email protected]>
250 ok
150 1 definitions retrieved
151 "website" wn "WordNet (r) 3.0 (2006)"
website
    n 1: a computer connected to the internet that maintains a
         series of web pages on the World Wide Web; "the Israeli web
         site was damaged by hostile hackers" [syn: {website},
         {website}, {internet site}, {site}]
.
250 ok [d/m/c = 1/0/28; 0.000r 0.000u 0.000s]
221 bye [d/m/c = 0/0/0; 0.000r 0.000u 0.000s]

自己检查一下:

curl dict.org/d:curl |less

最后的想法

就像许多其他 Linux 命令一样,cURL 具有多种优点和用途。 它是您可以满足各种需求的更广泛工具包的多功能和功能部分。 你能想到 cURL 对你有用的几种情况吗?

今天了解更多!

对此或任何其他主题有想法、问题或疑虑?
我们有全天候待命的支持和解决方案团队,他们对这些和其他网络托管技术有深入的了解,尤其是本文中讨论的技术。 今天给我们打电话 1.800.580.4985,或打开一个 聊天 或与我们联系,探索如何利用我们提供的这些或其他机会。
我们期待您的回音!