curl 命令详解,省的来回找了【Linux】

无人久伴 提交于 2020-08-17 05:54:19

一、简介

1. curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。做网页处理流程和数据检索自动化,curl可以祝一臂之力。

二、curl选项参数,这里说一些常用的

1.静默不输出任何东西

--silent

curl URL --silent

这条命令是将下载文件输出到终端,所有下载的数据都被写入到stdout。

如果要写入文件的话:

curl http://man.linuxde.net/test.iso -o filename.iso --progress
######################################### 100.0%

选项-o将下载数据写入到指定名称的文件中,并使用--progress显示进度条

2.用户curl设置cookie

--cookie

curl http://man.linuxde.net --cookie "user=root;pass=123456"

使用--cookie "COKKIES"选项来指定cookie,多个cookie使用分号分隔

如果想要将cookie存为一个文件的话

curl URL --cookie-jar cookie_file

3.打印响应的头部信息

-I

通过-I或者-head可以只打印出HTTP头部信息

curl -I http://man.linuxde.net

HTTP/1.1 301 Moved Permanently
Server: openresty
Date: Tue, 04 Aug 2020 06:24:58 GMT
Content-Type: text/html
Content-Length: 182
Connection: keep-alive
Location: https://man.linuxde.net/

4.设置用户代理字符串

--user-agent

有些网站访问会提示只能使用IE浏览器来访问,这是因为这些网站设置了检查用户代理,可以使用curl把用户代理设置为IE,这样就可以访问了。使用--user-agent或者-A选项

curl URL --user-agent "Mozilla/5.0"
curl URL -A "Mozilla/5.0"

其他的http头部信息也可以用curl来发送,设置-H

curl -H "Host:man.linuxde.net" -H "accept-language:zh-cn" URL

5.常用的发送数据

Linux中curl方式get获取数据

curl -G -d "name=value&name2=value2" http://www.baidu.com

post获取数据

curl -d "name=value&name2=value2" http://www.baidu.com #post数据
curl -d a=b&c=d&txt@/tmp/txt http://www.baidu.com  #post文件

表单的形式上传文件

curl -F file=@/tmp/me.txt http://www.aiezu.com
 
相当于设置form表单的method="POST"和enctype='multipart/form-data'两个属性。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!