前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >curl命令

curl命令

作者头像
奋飛
发布2019-08-15 10:17:51
2.1K0
发布2019-08-15 10:17:51
举报
文章被收录于专栏:Super 前端Super 前端

curl是一种命令行工具,支持多种协议,作用是发出网络请求,然后得到和提取数据,显示在stdout上面。 在服务器端,使用curl查看请求地址是否返回数据来判断是nginx配置问题还是程序服务配置问题不失为一种好方式(curl -i "...")!

一、查看网页源码

直接在curl命令后加上网址,就可以看到网页源码:

代码语言:javascript
复制
curl www.sina.com
代码语言:javascript
复制
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>

如果要把这个网页保存下来,可以使用-o参数,这就相当于使用wget命令了。

代码语言:javascript
复制
curl -o [文件名] www.sina.com

二、自动跳转

有的网址是自动跳转的。使用-L参数,curl就会跳转到新的网址。

代码语言:javascript
复制
curl -L www.sina.com

键入上面的命令,结果就自动跳转为www.sina.com.cn并显示源码。

三、显示头信息

-I参数则是只显示http response的头信息。 -i参数可以显示http response的头信息,连同网页代码一起。

代码语言:javascript
复制
curl -I www.sina.com
curl -i www.sina.com
代码语言:javascript
复制
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Wed, 17 Jun 2015 13:54:42 GMT
Content-Type: text/html
Location: http://www.sina.com.cn/
Expires: Wed, 17 Jun 2015 13:56:42 GMT
Cache-Control: max-age=120
Age: 102
Content-Length: 178
X-Cache: HIT from xd33-96.sina.com.cn

<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>

四、显示通信过程

-v参数可以显示一次http通信的整个过程,包括端口连接和http request头信息。

代码语言:javascript
复制
curl -v www.sina.com

查看更详细的通信过程:

代码语言:javascript
复制
curl --trace output.txt www.sina.com

或者

代码语言:javascript
复制
curl --trace-ascii output.txt www.sina.com

运行后,请打开output.txt文件查看。

五、发送表单信息

发送表单信息(GET):

代码语言:javascript
复制
curl example.com/form.cgi?data=xxx

发送表单信息(POST):

代码语言:javascript
复制
curl --data "data=xxx" example.com/form.cgi

发送表单信息,数据编码(POST):

代码语言:javascript
复制
curl --data-urlencode "date=April 1" example.com/form.cgi

六、HTTP动词

curl默认的HTTP动词是GET,使用-X参数可以支持其他动词。

代码语言:javascript
复制
curl -X POST www.example.com
curl -X DELETE www.example.com

七、Referer字段

有时需要在http request头信息中,提供一个referer字段,表示是从哪里跳转过来的。

代码语言:javascript
复制
curl --referer http://www.example.com http://www.example.com

八、User Agent字段

这个字段是用来表示客户端的设备信息。服务器有时会根据这个字段,针对不同设备,返回不同格式的网页。

代码语言:javascript
复制
curl --user-agent "[User Agent]" [URL]

九、cookie

curl发送cookie:

代码语言:javascript
复制
curl --cookie "name=xxx" www.example.com

十、增加头信息

有时需要在http request之中,自行增加一个头信息。--header参数可以起到这个作用。

代码语言:javascript
复制
curl --header "Content-Type:application/json" http://example.com

十一、HTTP认证

有些网域需要HTTP认证,这时curl需要用到--user参数。

代码语言:javascript
复制
curl --user name:password example.com
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015年06月18日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、查看网页源码
  • 二、自动跳转
  • 三、显示头信息
  • 四、显示通信过程
  • 五、发送表单信息
  • 六、HTTP动词
  • 七、Referer字段
  • 八、User Agent字段
  • 九、cookie
  • 十、增加头信息
  • 十一、HTTP认证
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档