侧边栏壁纸
  • 累计撰写 72 篇文章
  • 累计创建 22 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

【Linux命令】curl

Administrator
2025-06-28 / 0 评论 / 0 点赞 / 5 阅读 / 5582 字 / 正在检测是否收录...

curl是个极为常用的命令行工具,其主要功能是借助各种网络协议(像 HTTP、HTTPS、FTP 等)来传输数据。

1. 发送 HTTP 请求

获取网页内容

执行以下命令能够获取指定 URL 的内容:

curl https://www.example.com

把输出保存到文件

若想将获取到的内容保存到文件中,可使用-o选项:

curl -o output.html https://www.example.com

显示详细的请求信息

添加-v选项能显示请求的详细信息,包括请求头、响应头以及传输过程:

curl -v https://www.example.com

2. 发送带参数的请求

GET 请求(带查询参数)

在 URL 后面直接添加查询参数就能发送 GET 请求:

curl "https://api.example.com/search?q=keyword&page=1"

POST 请求(带表单数据)

使用-d选项可以发送表单数据,默认情况下会发送 POST 请求:

curl -d "username=test&password=123456" https://api.example.com/login

POST 请求(JSON 数据)

发送 JSON 数据时,需要使用-H选项设置请求头,并使用-d选项传递 JSON 字符串:

curl -H "Content-Type: application/json" -d '{"username":"test","password":"123456"}' https://api.example.com/login

3. 自定义请求头

借助-H选项可以自定义请求头:

curl -H "Authorization: Bearer your_token" https://api.example.com/protected

4. 处理重定向

当遇到 301、302 等重定向状态码时,使用-L选项可以让curl自动跟随重定向:

curl -L https://example.com
  1. 400 Bad Request:检查表单字段名、文件路径是否正确。

  2. 403 Forbidden:可能需要添加认证头(如Authorization)。

  3. 413 Payload Too Large:服务器限制了上传大小,需调整服务器配置。

5. 下载文件

显示下载进度

使用-#选项可以显示下载进度条:

curl -# -o file.zip https://example.com/file.zip

断点续传

添加-C -选项能够继续之前中断的下载:

curl -C - -o file.zip https://example.com/file.zip

6. 上传文件

使用-F选项可以上传文件,适用于表单上传:

curl -F "file=@/path/to/file.txt" https://api.example.com/upload
  • 说明

    • file:表单字段名,需与服务器端期望的字段名一致。

    • @/path/to/local/file.txt:本地文件的绝对或相对路径。

    • https://example.com/upload:文件上传的目标 URL。

带额外表单参数的上传

可同时上传文件和其他表单字段(如文件名、描述等):

curl -F "file=@document.pdf" \
     -F "name=报告.pdf" \
     -F "description=季度财务报告" \
     https://api.example.com/upload

7. 设置请求方法

使用-X选项可以指定 HTTP 请求方法:

curl -X DELETE https://api.example.com/resource/123

8. 超时设置

通过-m选项可以设置请求超时时间(单位为秒):

curl -m 10 https://www.example.com

9. 代理设置

使用-x选项可以设置代理服务器:

curl -x http://proxy.example.com:8080 https://www.example.com

10. 认证

基本认证

使用-u选项可以进行基本认证:

curl -u username:password https://api.example.com/protected

OAuth 认证

在进行 OAuth 认证时,通常需要设置相应的认证头:

curl -H "Authorization: OAuth your_token" https://api.example.com/protected

0
博主关闭了所有页面的评论