curl

本文详细介绍了curl命令的各种用法,包括如何使用curl进行GET和POST请求,如何设置HTTP标头,如User-Agent、Cookie和Referer,以及如何上传文件和处理重定向。同时,还讲解了curl如何与Web服务器交互,如何读取和写入cookie,如何限制带宽,以及如何保存服务器响应到文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

curl(Client Url)是一个开源的用于数据传输的命令行工具与库,用来请求Web服务器。

1、Url

curl https://www.baidu.com

-A
指定客户端的用户代理标头,即User-Agent。

curl -A ' ' https://www.baidu.com

-b
向服务器发送Cookie

// 生成一个标头Cookie:key=value
curl -b 'key=value' https://www.baidu.com

// 生成两个标头Cookie:key=value  key1=value1
curl -b 'key=value' -b key1=value1 https://www.baidu.com

-c
将服务器设置的cookie写入一个文件

curl -c cookies.text https://www.baidu.com

-d
发送post请求的数据体

curl -d 'name=test&password=123' -X POST https://www.baidu.com

使用-d参数后,http请求会自动加标头Content-Type:application/x-www-form-urlencoded
并且会自动将请求转为post方法,所以,可以省略 -X POST

-d读取本地文件数据

curl -d '@data.txt' https://www.baidu.com

–data-urlencode
等同于-d,发送post请求的数据体,区别在于会自动发送的数据进行URL编码

curl --data-urlencode 'comment=hello' https://www.baidu.com

-e
设置http标头Referer,表示请求的来源。

curl -e 'https://baidu.com?q=example' https://www.example.com

Referer标头设置为:https://baidu.com?q=example

-H参数可以通过直接添加标头Referer,达到同样的效果。

curl -H 'Referer:https://baidu.com?q=example' https://www.example.com

-F
用来向服务器上传二进制文件

curl -F 'file=@photo.png' https://www.baidu.com

-F参数可以指定MIME类型

// MIME类型为image/png,否则会把MIME类型设置为application/octet-stream
curl -F 'file=@photo.png;type=image/png' https://www.baidu.com

-F参数可以指定文件名

curl -F 'file=@photo.png;filename=me.png' https://www.baidu.com

-G
构造URL的查询字符串

// 省略G会发出一个POST请求
curl -G -d 'q=test' -d 'count=10' https://www.baidu.com

-H
添加HTTP请求的标头。

-i
打印出服务器回应的HTTP标头

-I
向服务器发出的HEAD请求,然后会将服务器返回的HTTP标头打印出来。

-k
指定跳过SSL检测。

-L
会让HTTP请求跟随服务器的重定向,默认不跟随。

–limit-rate
限制http请求和回应的带宽,模拟慢网速的环境。

-o
将服务器的回应保存成文件,等同于wget命令。

-s
将不输出错误和进度信息

-S
指定只输出错误信息

-u
设置服务器认证的用户名和密码

-v
输出通信的整个过程,用于调试

-x
指定http请求的代理

-X
指定HTTP请求的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值