首页 > 其他分享 >curl命令

curl命令

时间:2023-03-13 18:32:30浏览次数:40  
标签:www http -- 命令 curl com sina


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

一、查看网页源码


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

curl www.sina.com
<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命令了。


curl -o [文件名] www.sina.com

二、自动跳转


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

curl -L www.sina.com

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


三、显示头信息


-I参数则是只显示http response的头信息。

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

curl -I www.sina.com
curl -i www.sina.com
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头信息。

curl -v www.sina.com

查看更详细的通信过程:


curl --trace output.txt www.sina.com

或者


curl --trace-ascii output.txt www.sina.com

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


五、发送表单信息


发送表单信息(GET):

curl example.com/form.cgi?data=xxx

发送表单信息(POST):

curl --data "data=xxx" example.com/form.cgi

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

curl --data-urlencode "date=April 1" example.com/form.cgi

六、HTTP动词


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

curl -X POST www.example.com
curl -X DELETE www.example.com

七、Referer字段


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

curl --referer http://www.example.com http://www.example.com

八、User Agent字段


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

curl --user-agent "[User Agent]" [URL]

九、cookie

curl发送cookie:


curl --cookie "name=xxx" www.example.com

十、增加头信息

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


curl --header "Content-Type:application/json" http://example.com

十一、HTTP认证

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


curl --user name:password example.com


参考自:

​http://www.ruanyifeng.com/blog/2011/09/curl.html​


标签:www,http,--,命令,curl,com,sina
From: https://blog.51cto.com/u_15998238/6118370

相关文章

  • 五步掌握Git的基本开发使用命令
    第一步:设置全局变量:gitconfig--globaluser.name"gang.li"gitconfig--globaluser.email"[email protected]"第二步:初始化仓库,并推送到远程仓库(如果第一次推送执行......
  • Linux 命令行使用if语句进行判断
    说明:可以配合ansible进行批量实现例1:判断ntp是否启动systemctlis-activentpd.service&>/dev/null;if[$?==0];thenecho"ntp-ok";elseecho"ntp-no"|x......
  • 2.kettle命令行使用说明
    Kettle命令行使用说明1.Kitchen——作业执行器(后缀名:kjb)是一个作业执行引擎,用来执行作业。这是一个命令行执行工具,参数说明如下。-rep:Repositoryname任务包所在存储......
  • debian系统如何支持ll命令
    在Debian系统中,默认情况下可能没有安装ll命令,但是可以通过以下两种方式之一来支持ll命令:创建一个别名(alias):在终端中输入以下命令即可创建ll别名,将其指向ls-alF命令:alias......
  • 傻瓜式Java操作MySQL数据库备份(使用mysqldump命令)
    傻瓜式Java操作MySQL数据库备份(使用mysqldump命令)注释都是由chatGPT生成,有什么问题可以评论交流@Value("${backup.sql.database}")privateStringdatabases;......
  • Linux操作系统file命令 – 识别文件类型
    前言file命令用来识别文件类型,也可用来辨别一些文件的编码格式。(是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的)语法file[参数]......
  • 如何解决nginx:未找到命令问题
    1、打开环境变量所在的文件:vim/etc/profile2、在profile文件末尾,加上如下内容#指向nginx的安装目录sbin"PATH=$PATH:/usr/local/nginx/sbin3、重新加载环境source/......
  • Docker CLI docker buildx prune常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Doc......
  • Redis Stream Commands 命令学习-1 XADD XRANGE XREVRANGE
    概况ARedisstreamisadatastructurethatactslikeanappend-onlylog.Youcanusestreamstorecordandsimultaneouslysyndicateeventsinrealtime.Exam......
  • Terraform常用命令
    资源管理常用命令terraformplanplan资源的预览主要用于以下场景:a.预览当前模板中定义的资源是否符合管理预期b.如果当前模板已经存在对应的state文件,那么plan命令将会展......