美文网首页
curl常用参数详解及示例

curl常用参数详解及示例

作者: 万猫学社 | 来源:发表于2022-04-05 14:07 被阅读0次

curl简介

curl是一个开源的命令行工具,它基于网络协议,对指定URL进行网络传输,得到数据后不任何具体处理(如:html的渲染等),直接显示在"标准输出"(stdout)上。

curl支持的网络协议有很多,包括:DICT、FILE、FTP、FTPS、GOPHER、GOPHERS、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、MQTT、POP3、POP3S、RTMP、RTMPS、RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、TELNET和TFTP。

curl的参数也有很多,下面介绍一些常用的参数,建议收藏保存。

发送GET请求

当curl不带有任何参数时,curl默认发出 GET 请求,服务端返回的内容不会做任何解析直接在命令行显示。示例:

curl http://www.csdn.net

因为需要跳转到HTTPS,所以返回301:

<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>openresty</center>
</body>
</html>

发送POST请求

使用-d参数时,header的Content-Type被自动赋值为application/x-www-form-urlencoded,并且发送 POST 请求。示例:

 curl -d 'user=万猫学社&pwd=onemore' http://csdn.net/login

因为需要跳转到HTTPS,同样返回301:

<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>openresty</center>
</body>
</html>

发送json请求

发送json请求还需要用到两个参数:-X参数指定 HTTP 请求的方法,-H参数指定 HTTP 请求的header。示例:

curl -X POST -H "Content-Type: application/json; charset=UTF-8" -d '{"user":"万猫学","pwd":"onemore"}' http://www.csdn.net/login

其中,-X参数指定 HTTP 请求的方法为 POST,-H蚕食指定header的 Content-Type 为 application/json; charset=UTF-8 ,-d参数指定数据为 {"user":"万猫学","pwd":"onemore"} 。

显示HTTP响应头

-i参数显示服务端响应内容的同时,也显示HTTP响应头。示例:

curl -i http://www.csdn.net

会先显示服务端的响应头,然后空一行,再显示服务端响应内容,如下:

HTTP/1.1 301 Moved Permanently
Server: openresty
Date: Thu, 20 Jan 2022 11:59:42 GMT
Content-Type: text/html
Content-Length: 166
Connection: keep-alive
Keep-Alive: timeout=20
Location: https://www.csdn.net/

<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>openresty</center>
</body>
</html>

显示响应过程

-v参数显示的整个响应过程,我们可以看到底层到底发生了什么。示例:

curl -v http://www.csdn.net

显示如下:

* About to connect() to www.csdn.net port 80 (#0)
*   Trying 39.106.226.142...
* Connected to www.csdn.net (39.106.226.142) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: www.csdn.net
> Accept: */*
> 
< HTTP/1.1 301 Moved Permanently
< Server: openresty
< Date: Thu, 20 Jan 2022 12:07:40 GMT
< Content-Type: text/html
< Content-Length: 166
< Connection: keep-alive
< Keep-Alive: timeout=20
< Location: https://www.csdn.net/
< 
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>openresty</center>
</body>
</html>

其中,以*开头的行表示curl提供的额外信息,以>开头的行表示请求头, <开头的行表示响应头。

只显示响应头

有时候响应内容太长,只关心响应头时,可以使用-I参数。示例:

curl -v http://www.csdn.net

显示如下:

HTTP/1.1 301 Moved Permanently
Server: openresty
Date: Thu, 20 Jan 2022 12:15:30 GMT
Content-Type: text/html
Content-Length: 166
Connection: keep-alive
Keep-Alive: timeout=20
Location: https://www.csdn.net/

参考链接:
https://curl.se/docs/manpage.html
https://www.ruanyifeng.com/blog/2019/09/curl-reference.html

最后,谢谢你这么帅,还给我点赞关注

相关文章

  • curl常用参数详解及示例

    curl简介 curl是一个开源的命令行工具,它基于网络协议,对指定URL进行网络传输,得到数据后不任何具体处理(...

  • curl 命令详解

    [TOC] 常用参数详解 常用curl实例 抓取页面内容到一个文件中 用 -O(大写的),后面的url要具体到某个...

  • Sqoop一些常用命令及参数

    目录五.Sqoop一些常用命令及参数1.1 常用命令列举1.2 命令&参数详解1.2.1 公用参数:数据库连接1....

  • CURL参数详解

    CURLOPT_INFILESIZE: 当你上传一个文件到远程站点,这个选项告诉PHP你上传文件的大小。 CURL...

  • cURL 参数详解

    一、安装: (大多数 Linux 发行版都预先安装了 curl 包,不需要自行安装) Ubuntu:sudo ap...

  • curl常用参数

    curl是常用的网络调试工具,特别是HTTP请求用它调试非常方便。 参数大纲 参数说明-v打印头信息-X设置请求方...

  • curl和wget参数详解

    自用笔记 curl(文件传输工具) 常用参数如下: 使用示例: 例1:抓取页面到指定文件,如果有乱码可以使用ico...

  • monkey测试参数详解及示例

    参数说明 -p 允许的包名 --throttle 用户操作的延时 --pct-touch 触摸事件百分比 --pc...

  • spark submit常用参数及优化

    1.spark submit 基本格式举例: 2.spark submit 参数详解: 参数参数说明示例--mas...

  • 7.CURL命令的基本使用

    curl 命令详解~~ 直接在 curl 命令后加上网址,就可以看到网页源码 网页保存下来,可以使用 -o 参数 ...

网友评论

      本文标题:curl常用参数详解及示例

      本文链接:https://www.haomeiwen.com/subject/ifuksrtx.html