范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

还在用postman?手把手教你用curl提高工作效率

  curl介绍
  curl 是 Linux 系统上一款网络工具,它的首字母 c 代表的是  client  ,表示它是客户端程序。通过 URL   方式,可以实现客户端与服务器之间传递数据。
  它的功能非常强大,支持大部分常见的网络协议:HTTP、HTTPS、FTP。功能特性也很丰富,支持 http、https、cookie、认证、代理、速率限制、断点续传,提供非常多的选项,熟练运用的话,基本可以取代 postman 这类图形工具。  与liburl关系
  其实 curl 项目包括两部分:curl   和 libcurl  ,关系大概如图所示
  curl   是命令行工具,底层调用的是 libcurl   库。 libcurl   是以库 形式存在,提供各种功能 C   接口,供其他程序调用,包括 curl   命令 安装使用
  和 wget 不同,并非所有的 Linux 发行版中都安装了 curl,你可以使用包管理器自行安装 # ubuntu or debian $ apt install curl # centos or redhat $ yum install curl
  如果需要使用最新版本,或自定义安装,可以通过源码编译方式进行安装 $ wget https://curl.se/download/curl-7.79.1.tar.gz $ ./configure $ make $ make install
  通过 curl --version   可以验证命令是否安装准确 上手操作
  我们先来看下 curl 最简单的使用方式,没有任何选项,将服务器响应的内容输出到屏幕上 $ curl http://linuxblogs.cn
  有时我们不想显示错误和进度信息,可以使用 -s   选项开启静默模式 $ curl -s http://linuxblogs.cn # 完全不输出任何内容,可以通过"echo $?"来判断命令成功或失败 $ curl -s -o /dev/null http://linuxblogs.cn
  通过 -v   选项可以非常详细地显示 curl 的整个工作过程,相当于打开了调试模式 请求http
  接着介绍我们平时最常用的,和 http  数据传输相关的操作
  1.   发送 GET 请求
  curl 命令默认发送的是 GET   请求,响应内容直接打印在了屏幕上 $ curl http://www.baidu.com
  使用 -i   选项,可以打印服务器响应的 HTTP 头部信息 # 先打印请求头,空一行,再打印网页内容 $ curl -i http://www.baidu.com
  如果只想测试该链接或资源是否正常,使用 -I   选项,可以只打印响应头信息,注意此时发送的是 HEAD   请求
  2.   发送 POST 请求
  默认情况下,curl 发送的是 GET 请求,使用 -X   参数可以指定发送 POST   请求,使用 -d   参数可以指定请求数据 # 无数据的 POST 请求 $ curl -x POST http://www.domain.com # 发送 Form 数据 $ curl -d "user=foo&pass=123" -X POST http://google.com/login  # 等价于上边命令 $ curl -d "user=foo" -d "pass=123" http://google.com/login
  使用 -d   选项后,默认就是 POST   请求,可以省略 -X   选项,另外,使用多个 -d   选项,可以使命令行显得更清晰
  下边命令可以读取本地文件,作为数据向服务器发送 $ curl -d "@data.txt" http://google.com/login
  3.   发送 Json 格式数据请求
  curl 可以发送 json  格式的请求,需要设置 Content-Type 为 application/json   $ curl -d "{"user":"foo","pass":"123"}"        -H "Content-Type: application/json"        http://google.com/login
  -H   选项指定 Content-Type   请求头为 json 格式,这样 web 服务器就清楚数据类型,知道该怎么处理了
  4.   构造查询字符串参数
  通过 -G   选项,可以构造查询字符串参数 curl -G -d "q=chopin" -d "count=20" http://google.com/search # 等价于下边命令 curl "http://google.com/search?q=chopin&count=20"
  上述命令会发送 GET 请求,如果忽略 -G   选项,会发出一个 POST 请求
  5.   添加请求头
  通过 -H   选项,可以为请求添加标头 $ curl -H "Accept-Language: en-US" http://google.com # 可以指定多个-H选项 $ curl -H "Accept-Language: en-US" -H "Secret-Message: xyzzy" http://google.com
  6.   设置重定向
  默认 curl 不会跟随重定向,指定 -L   选项会让请求跟随服务器重定向 $ curl -L http://api.twitter.com/hello
  7.   设置静默输出
  指定 -s   选项将不输出错误和进度信息,如果想让 curl 不产生任何输出,使用下面的命令 $ curl -s -o /dev/null http://google.com
  8.   详细的调试信息
  指定 -v   选项,会输出通信的整个过程,一般用于调试 $ curl -v http://www.baidu.com
  --trace   选项也可以用来调试,还可以输出更详细的内容,比如原始的二进制数据 $ curl --trace - http://www.baidu.com
  9.   模拟浏览器访问
  -A   选项可以指定客户端的用户代理信息,即设置 UserAgent   请求头。 $ curl -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36" http://google.com
  上面命令将 UserAgent   设置成了 Chrome 浏览器的标识。其实也可以直接通过 -H   选项来指定 $ curl -H "User-Agent: go/1.15" http://google.com
  10.   伪造 refer 解决防盗链
  有时候,引用或下载某网站图片等资源时,会有防盗链的限制,可以通过设置 refer  请求头为站内域名来解决 # -e 参数来设置 HTTP 请求头 Referer $ curl -e "http://linuxblogs.cn" http://linuxblogs.cn/girl.jpg # -H 参数也可以直接设置请求头 Referer $ curl -H "Referer: http://linuxblogs.cn" http://linuxblogs.cn/girl.jpg
  11.   设置 Cookie
  -b   选项用来向服务器发送 Cookie,该命令会生成一个请求头 Cookie: foo=bar  ,向服务器发送一个 Cookie $ curl -b "foo=bar" http://google.com # 发送两个cookie $ curl -b "foo=bar;name=mike" http://google.com
  也可以通过读取本地 cookie 文件,将其发送给服务器。-c   选项可以将服务器响应的 Cookie 写入一个文件 $ curl -b cookie.txt http://google.com # 将cookie写入文件 $ curl -c cookie.txt http://baidu.com 文件操作
  1.   下载文件资源
  使用 -o   或 -O   选项,可以将网络资源保存到文件中 # 等效于 wget $ curl -o chopin.html http://linuxblogs.cn # -O 选项,可以将 URL 的最后部分当做文件名 $ curl -O http://linuxblogs.cn/bar.html
  如果想显示下载进度条,可以使用 -#   选项
  2.   循环下载文件
  有时候要下载的多个文件,只有名称后缀不同,可以这样来下载 $ curl -O http://linuxblogs.cn/dog[1-5].jpg
  3.   压缩下载
  使用 --compressed   选项,允许你要求 HTTP 和 HTTPS 服务器提供数据的压缩版本,这在带宽有限的情况下,可以帮你节约不少时间 curl --compressed http://linuxblogs.cn/foo.txt
  4.   限制下载速度
  如果带宽不是很充足,多人共享带宽,curl 支持限速功能 $ curl http://linuxblogs.cn --limit-rate 200K
  另外一个用法,就是模拟测试慢网速的场景,用于做开发测试
  5.   分块下载
  有时文件会很大,我们采用可以分段的方式进行下载,最后合并为完成的文件 $ curl -r 0-100 -o part1.mp4 http://linuxblogs.cn/cang.mp4 $ curl -r 100-200 -o part2.mp4 http://linuxblogs.cn/cang.mp4 $ curl -r 200- -o part3.mp4 http://linuxblogs.cn/cang.mp4 $ cat part*.mp4 > cang.mp4
  6.   断点续传
  有时候网络不太好,通过 curl 下载大文件时,可能发生中断的现象。使用 -C   选项可以实现断点续传,非常实用 $ curl -C -O http://linuxblogs.cn/girl.mp4
  在弱网环境下,加上 --retry N   选项,可以在失败的时候多次重试,对下载操作更友好一些。
  7.   通过 FTP 下载文件
  支持下载 FTP 文件,curl 提供两种下载的语法 $ curl -O -u user:pass ftp://linuxblogs.cn/dog.jpg $ curl -O ftp://user:pass@linuxblogs.cn/dog.jpg
  8.   上传文件
  平时开发时,可以通过 curl 实现文件的上传功能,非常高效。 # 命令会给 HTTP 加上请求头 Content-Type: multipart/form-datas $ curl -F "file=@苍老师.mp4" http://linuxblogs.cn/upload
  -F   选项还可以指定 MIME 类型和文件名 $ curl -F "file=@苍老师.mp4;type=image/png" http://linuxblogs.cn/upload # 还可以支持修改文件名,而不是默认的 $ curl -F "file=@苍老师.mp4;file=天空.mp4" http://linuxblogs.cn/upload https相关
  目前大多数站点采用的都是 https,这里给出几个常见的用法
  1.   忽略证书验证
  有时访问 https 站点时,服务器证书过期或是自签证书,使用 curl 访问时会报错,可以指定 -k   选项来忽略证书有效性验证。 $ curl -k https://linuxblogs.cn
  2.   指定客户端证书
  有时需要双向验证,服务器也要验证客户端,用来确定客户端的真实身份。可以使用 --cert   和 --key   指定客户端证书 $ curl --cert client.pem --key key.pem https://linuxblogs.cn
  3.   使用证书链验证服务器证书
  在平时开发时,证书一般是自签的,可以通过指定 CA 证书链进行证书的验证 $ curl --cacert caChain.pem https://linuxblogs.cn 高级功能
  (一)设置代理
  1.   命令行
  通过命令行,可以很简单的实现 curl 代理功能 $ curl -x "http://user:pwd@127.0.0.1:1234" "http://linuxblogs.cn"
  2.   使用环境变量
  通过设置环境的方式也很简单 $ export http_proxy="http://user:pwd@127.0.0.1:1234"
  3.   使用配置文件
  使用配置文件 ~/.curlrc  ,修改内容如下: proxy="http://user:pwd@127.0.0.1:1234"
  (二)格式化
  在平时使用 curl 时,可能希望能够获取更多信息,如请求耗时、访问时延、请求大小等信息。比如在生产环境要测试某个接口,可以通过如下的方式,获取你想要的数据,非常方便。 # 只获取http状态码 $ curl -s -w "%{http_code}" https://baidu.com -o /dev/null
  不过瘾?直接上大招,首先需要准备格式模板
  有了上边的格式模板,我们就可以轻松获取非常漂亮的统计数据
  我们可以很清晰地看到,域名解析、连接建立时间、下载速度、状态码等数据。当然 curl 支持的关键字段还有很多,更多的字段可以参考 man  手册。

华为Mate30Pro电影四摄再次深耕影像,再创不可能10月伊始,最受瞩目的除了阅兵式,应该就是国庆档上映的献礼大片我和我的祖国。而在这个让人动容的电影,片尾MV出现的由华为Mate30Pro拍摄的视频片段,引起了众多观众的注意,很多为什么同事总能步步高升?原因竟然是他选择了一汽大众新迈腾在当今社会处处充满竞争,如果你落后一步就会步步落后。同样在汽车行业也是如此,但是一汽大众却能始终引领行业潮流,特别其旗下的新迈腾这款车型在商务车中更是标杆的存在。如果你也想在你的行同盾科技蒋韬心存敬畏,向善而行同盾科技CEO蒋韬发布公开信,侧面回应了一些关于同盾科技的谣言,也表达了他对于数据分析与应用行业未来发展的认知。近日,多家大数据风控服务提供商传出高管协助调查或公司查封爬虫业务终止网红JEET蓝牙耳机凭什么走红运动圈,引发疯狂种草?最近,JEET蓝牙耳机在运动圈内爆火,众多运动达人们纷纷疯狂种草。而品牌推出的顶配级旗舰机皇更是被用户冠以断货王之称!既不是国际大牌,也没有明星代言,更没有大肆广告炒作博眼球,那么国米乔府大院新品上市发布会圆满完成五常大米产业发展路途中,五常市人民政府从未停止探索与努力。从1993年提出绿色战略口号到2015年通过三确一检一码建立起五常大米全产业链可追溯体系再到2019年与金融大数据等平台合势头太猛!沃尔沃全新S60现身多次就卖20多万近日,最近沃尔沃全新S60这款车的关注度很高,那么我们就来简单介绍一下,新车有丰富的配置,助力年轻一代更好地出行。这次沃尔沃全新S60搭载斯堪的纳维亚设计,虽然并未对前脸部分的造型历史性一刻!海宁杭海新城纳入杭州钱塘新区战略规划范围2019年10月23日,海宁迎来历史性一刻!杭州钱塘新区与海宁市政府签署了全面战略合作协议,海宁杭海新区纳入钱塘新区战略规划范围。由此开始,杭州钱塘新区和海宁市将共同打造省跨行政区说实话,我愿意把这个低调的神器安利给全世界给你们说个好玩的,去看个电影,把结束时间记成入场时间了,我特么本来心情就有点不太美丽,电影院又全是一对一对的,心情就更糟糕了。还不如回家看电视。正好红米70寸价格屠夫发布了,等开售看完这几点,你说沃尔沃性价比高不高?在国内汽车市场中,以有气派有面子空间大等特点的车型层出不穷。但是随着汽车消费的多元化,在豪华车车领域沃尔沃会是众多消费者的首选车型。除了造型设计空间舒适与动力性能这样的基本要素外,新迈腾成为商务人士们心中的佳选车型,靠的就是实力新迈腾作为市场中B级车的最新标杆之一,如今以在广州车展上出展。新迈腾不仅在外观上较上一版本有了很大的改观,在内饰和配置上也进行了大的变化。如今的新迈腾处处体现着他的运动风格和商务风这是真的!百公里油耗6。6新迈腾绿水青山就是金山银山!时代的浪潮向前推进,低碳出行顺应时代,新迈腾当然义不容辞。充分响应时代号召,与时代发展紧紧相连,强大动力组合的实力超越其它商务车型,全新设计的变速箱匹配不同功
睿米EVEPlus扫地机器,引领家电行业制高点,让家庭清洁告别双手随着信息技术与人类生产生活的融合,各种数据的迅猛增长海量聚集,对经济发展人民生活产生了重大而深远的影响。技术和因特网一方面通过大量的用户数据改善服务质量,使生活更加便利另一方面,公安卓嗖嗖虾磁力搜v1。1。7无广告磁力搜索想搜啥就有啥软件介绍嗖嗖虾磁力搜是一款免费无广告BT种子磁力搜索工具,在GooglePlay商店上架了的个人开发免费无广告的磁力资源搜索应用,采用本地数据爬虫检索第三方磁力资源搜索引擎资源链接国产最强睿米EVEPlus,自集尘自主清洁一步到位,满足家庭清洁家庭清洁这个事情吧,从古至今都是让人一听到就眉头紧锁的问题,多少人深受其苦又有多少人不堪其扰,哪怕是现在科技这么发达,也还是有人被它困扰着,可见家庭清洁的功力有多深。可是你要说所有家庭必备清洁好物,睿米EVEPlus扫地机器人,带给你全新清洁体验大家都知道好的清洁产品可以对家庭清洁来说意味着什么,这种清洁好物就像选男朋友,好的时候那是千般万般好,不好的那是说不出来的嫌弃啊。所以啊可见生活中有一台好用的清洁产品那是多么的给力30天内练出六块腹肌成就完美身材,我教你说到减肥很多朋友可能最多的想到的就是跑步减肥,健身确实是一项不错的减肥方式,这也是得以于大家对健身的推广,现在国内的年轻小伙越来越多的走进了健身房,开始自己的举铁生涯。太忙没有时间文案库1。2新增搜索,收藏,丧系馆,治愈馆,优化bug文案库软件,一款由论坛用户原创制作分享的精选文案句子工具。文案库app整合了上千个情话句子,舔狗语录,心灵鸡汤等文案内容,可以丰富你的句子库,让你在与不同对象聊天的时候能出口成章,最强清洁吸尘器,睿米NEXVX吸擦一体,让家庭卫生清洁如此简单随着智能家居智能清洁产品的不断发展进步,越来越多的智能家用清洁进入了我们的日常生活中。方便了我们日常生活,给我们的家庭带来了前所未有的改变,让我们感受了智能家居带来的福利。特别是智魔音变声器任意变声超多语音包解锁VIP软件名称魔音变声器软件版本1。5。3软件大小41。06MB测试系统小米使用说明一款非常好用的手机变声软件,这款软件所占内存小,功能强大,随时随地都可以拿出来使用。用户通过这款软件可自主清洁解放双手,家庭清洁神器,睿米EVEPlus扫地机器人现在的家庭清洁早就有很多各种各样的清洁产品能够来解决,在这些产品中有些是真的好用,有的就是典型的智商税。就像现在很火的智能扫地机器人这块,它也不是所有类型的扫地机器人都好用,也是会PreviSat是一款用于观测目的的卫星跟踪软件PreviSat是一款用于观测目的的卫星跟踪软件,能够显示人造卫星的位置以及太阳月亮等,你可以查看卫星上的世界或星空图,帮助你收集各种信息,有需要的用户不要错过了,欢迎下载使用!基解放双手清洁卫生,睿米扫地机器人,让家庭清洁如此简单市场上面能出现的东西都是在说明同一件事情,那就是有需求就会有突破。就像在家庭清洁方面,从原来的扫帚拖把到后面的吸尘器擦地机,到现在还有能够吸拖一体的扫地机器人。在追求生活品质的路上