写点什么

从基础到高级,带你深入了解和使用 curl 命令(一)

  • 2024-04-03
    北京
  • 本文字数:1762 字

    阅读完需:约 6 分钟

前言

在网络通信和数据传输中,curl 命令是一个功能强大且广泛使用的工具。它可以与各种协议进行通信,如 HTTP、HTTPS、FTP 等,并支持各种操作,如下载文件、发送请求、测试 API 等。本文将从基础开始,介绍 curl 命令的基本用法,然后深入探讨其高级功能和实用技巧。

获取更多技术资料,请点击!

curl 简介

curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是命令行(commandline)的 URL 工具的意思,它非常强大,拥有很多参数,能够实现各种功能,可以这么说,postman 能做到的,curl 也能做到。curl的基本语法如下:


curl [options] [URL...]
复制代码


其中,options是一系列选项,用于配置curl的行为,URL 是目标资源的地址。


常见的选项如下:


-A/--user-agent <string>             设置用户代理发送给服务器-b/--cookie <name=string/file>       cookie字符串或文件读取位置-c/--cookie-jar <file>               操作结束后把cookie写入到这个文件中-C/--continue-at <offset>            断点续转-D/--dump-header <file>              把header信息写入到该文件中-e/--referer                         来源网址-f/--fail                            连接失败时不显示http错误-o/--output                          把输出写到该文件中-O/--remote-name                     把输出写到该文件中,保留远程文件的文件名-r/--range <range>                   检索来自HTTP/1.1或FTP服务器字节范围-s/--silent                          静音模式。不输出任何东西-T/--upload-file <file>              上传文件-u/--user <user[:password]>          设置服务器的用户和密码-w/--write-out [format]              什么输出完成后-x/--proxy <host[:port]>             在给定的端口上使用HTTP代理-#/--progress-bar                    进度条显示当前的传送状态
复制代码

curl基本使用示例

  1. 请求网址 curl url


如下:


curl www.baidu.com
复制代码



  1. 保存访问的网页


  • 使用重定向功能保存curl URL >> filename.html


curl http://www.baidu.com >> baidu.html
复制代码


如下图:



  • 使用 curl 的内置选项 -o (小写) 保存网页curl -o filename.html URL


curl -o baidu.html http://www.baidu.com
复制代码


如下图:



  1. 指定代理服务器及其端口


很多时候上网需要用到代理服务器(比如是使用代理服务器上网或者因为使用 curl 别人网站而被别人屏蔽 IP 地址的时候),我们可以通过使用curl内置option:-x 来支持设置代理,如下:


curl -x 192.168.100.100:1080 http://www.baidu.com
复制代码


  1. 模仿浏览器


有些网站需要使用特定的浏览器去访问他们,有些还需要使用某些特定的版本。curl内置option: -A 可以让我们指定浏览器去访问网站:


curl -A "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)" https://www.ceshiren.com
复制代码

总结

本文主要介绍了curl命令的一些简单用法,比如请求网址,使用代理访问等操作,后续我们将介绍curl命令使用 cookie,以及发送请求,下载/上传文件等操作。


推荐学习

【霍格沃兹测试开发】7 天软件测试快速入门 带你从零基础/ 转行/ 小白/ 就业/ 测试用例设计实战


【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)


【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)


【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)


【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)


【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试


【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff


【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享


【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装


【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?


【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!


【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我


【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化

用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
从基础到高级,带你深入了解和使用curl命令(一)_霍格沃兹测试开发学社_InfoQ写作社区