curl命令

本文的核心内容:curl命令。


 

在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。有时需要在容器内部请求接口,curl命令就可以很好的解决问题。

 

1. 获取页面内容  

当我们不加任何选项使用 curl 时,默认会发送 GET 请求来获取链接内容到标准输出。

curl http://www.baidu.com

2. 显示 HTTP 请求 响应的头部信息    I

如果我们只想要显示 HTTP响应头部,而不显示文件内容,可以使用 -I 选项:

curl -I http://www.baidu.com

3. 显示 HTTP请求 响应的头部信息 + 页面内容   i

同时显示 HTTP 响应头部和文件内容,使用 -i 选项:

curl -i http://www.baidu.com

4. 显示HTTP请求  响应信息 + 页面内容

curl -v www.baidu.com

-v 选项,--verbose,指定该选项后,可以跟踪URL的连接信息。我们可以根据这个选项看看curl是怎么工作的。

域名解释过程:我们可以得到真正连接的IP地址和端口

请求头信息:其中有使用的协议(HTTP),协议的请求方式(GET)

回应头信息:包含状态码(200),内容格式(text/html),内容长度等。

* Rebuilt URL to: www.baidu.com/
*   Trying 61.135.169.125...
* Connected to www.baidu.com (61.135.169.125) port 80 (#0)
> GET / HTTP/1.1
> Host: www.baidu.com
> User-Agent: curl/7.49.0
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Accept-Ranges: bytes
< Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
< Content-Length: 2381
< Content-Type: text/html
< Date: Tue, 05 Mar 2019 03:07:19 GMT
< ETag: "588604c4-94d"
< Last-Modified: Mon, 23 Jan 2017 13:27:32 GMT
< Pragma: no-cache
< Server: bfe/1.0.8.18
< Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
< X-Cache: MISS from HexinFirewall
< Connection: close
<

 鐧惧害涓€涓嬶紝浣犲氨鐭ラ亾
 
* Closing connection 0

5. 使用 -A 自定义 User-Agent

我们可以使用 -A 来自定义用户代理,例如下面的命令将伪装成安卓火狐浏览器对网页进行请求:

curl -A "Mozilla/5.0 (Android; Mobile; rv:35.0) Gecko/35.0 Firefox/35.0" http://www.baidu.com

6. 使用 -H 自定义 header

当我们需要传递特定的 header 的时候,可以仿照以下命令来写:

curl -H "User-Agent: Custom-User-Agent" http://www.baidu.com

7. 使用 -L  自动跳转

当访问的网站返回一个新的跳转地址(重定向),使用-L自动跳转。

curl -L http://www.baidu.com

8. -X 选项,指定请求方式, -data选项,带参连接

请求的方式,包括GET、PUT、POST、DELETE四种方式。这四种请求方式,对于在做RESTFUL接口开发和测试的人来说,非常方便。

curl -X POST -data 'user=Maps&age=22' http://www.baidu.com

如果请求数据需要编码

curl -X POST -data-urlencode 'user=Maps&age=22' http://www.baidu.com

 

9. 保存网页内容

使用linux的重定向功能保存

curl https://www.baidu.com >> baidu.html

使用curl的内置option:-o(小写)保存网页

curl -o baidu.html https://www.baidu.com 

 

你可能感兴趣的:(curl命令,Others)