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

还在用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  手册。

传英伟达RTX3090SUPER显卡拥有10752个CUDA核心TGP功耗400W在RTX3080Ti和RTX3070Ti上市后,许多人期待着英伟达将满血版的GA102GPU核心放出来,从而为传说中的RTX3090SUPER显卡提供支撑。最新消息是,据GreymVIVOX70系列外观配置全曝光,外观小幅改动,或搭载自研图像芯片昨天网上曝出了iPhone13系列的最终发布时间,作为科技春晚的苹果发布会将会在9月14号正式发布,接下来大家要做的就是养精蓄锐,好好攒钱。其实除了iPhone13系列之外,9月份三星折叠屏GalaxyZFold取代GalaxyNote系列产品线按照三星之前每年的以往惯例来看,三星在每年上半年发布自家GalaxyS系列产品,而在下半年将会发布GalaxyNote系列产品。不过现在随着三星两款折叠屏手机的市场越来越成熟,关于腾讯红魔游戏手机6SPro,120w快充iCE6。0多维散热系列在这个电竞成为潮流的时代,游戏手机应运而生。随着8月份骁龙888Plus旗舰机的陆续登场,游戏手机自然也不能落了下风。腾讯红魔游戏手机6SPro新品发布会,将于9月6日下午三点正式k40宇宙又要添新机了海外已经确定要在9月中旬的一个小米全球发布会,到时候小米11t和小米11tPro会在本次发布会正式亮相。在去年小米10t引入国内成为红米k30s至尊纪念版,今年国内上线时间应该在1科技圈掀起元宇宙浪潮,羽迹科技助力新纪元开启2021年,元宇宙成为科技发展前沿领域的一个聚焦点。基于现实的虚拟空间,从泛娱乐到全真互联网,这一全新概念的提出,在科技圈掀起巨大浪潮,更是点燃了整个科技行业的热情。元宇宙概念的提多款微型纯电动车销量成倍增长,为何它们如此受欢迎?据乘联会日前公布的数据显示,7月,国内新能源汽车销量为22。2万辆,同比上涨了169。4,17月累计销量122。9万辆,同比大涨210。0。翻看榜单,可以发现其中有几款微型纯电动车真正的性能车极狐阿尔法S,续航708km,3。5秒破百,优秀新能源车该有的样子如今,新能源汽车是越来越受国人的喜爱了。因为新能源汽车不仅省心,而且养车成本比燃油车要低。所以,近几年出现了很多新能源汽车品牌。而今天我们的主角极狐汽车就是其中之产业数字化是经济转型重要方向当今世界,数字经济已经进入加速创新引领发展的新阶段,谁引领了数字经济,谁就掌握了新一轮发展的主动权。近年来,在党中央国务院高度重视下,在相关部门协力推动下,我国数据要素的价值不断释视硅谷巨头为敌?美政府提名谷歌宿敌掌管反垄断部门据新加坡联合早报网站报道,近期,美国政府提名美科技巨头企业的长期批评者乔纳森坎特掌管美司法部反垄断部门,又一次表明美官方想采取积极行动,占据对付硅谷大型企业的主导地位。资料图片乔纳关于华为,高通已经可以全面出货,台积电还会远吗?华为最新发布的P50系列手机,反映出了两个关键性的问题,其一是在美国规则的影响下,华为无法获得5G芯片供应,麒麟9000也只能当成4G芯片来用其二是高通获得了向华为出货的许可,尽管
母婴行业如何利用小程序抢占市场?实现客源销量双增长随着小程序的火爆,线下店铺实现线上转型已成必然趋势,餐饮服装美妆等行业都在利用小程序实现转型,抢占市场,那么面对客户群体巨大的母婴行业自然也不能落后,那么母婴行业应该怎样利用小程序小程序开店步骤是什么?怎么搭建一个小程序店铺?想拥有一个小程序,要看这三个关键步骤1,申请小程序账号并做认证登录微信公众平台,注册,在帐户类型页面中,选择小程序,按照提示创建,根据步骤提示做认证,需要300元认证费,以后每年都人类高质量的选择!三款国货SUV是谁让你种草?随着网络用词人类高质量的爆火,可以看出当代人对生活质量在不断苛刻,既要朴实无华,又要有内涵。就拿购车来说,消费者不光需要好看的皮囊,同时还要兼顾家用,尤其是三胎政策的放宽,儿童的用小户型到底装不装榻榻米,竟有这些猫腻由于放假的居高不下,现如今小户型成为了年轻伙伴们的首选,可小户型中的卧室空间较小,放上床柜等家具就会满登登,不过又有什么办法呢?别急,我们可以通过设计把有限的空间巧妙地利用起来。在夏季降温有招法,让你家清凉一夏进入夏天,一想到火辣辣的太阳,闷热的天气,整个人都有种被蒸的感觉,实在是不好受。这个时候人们会选择吃些冷饮躲在阴凉处乘凉可小编却喜欢宅在家里,有的伙伴会问,难道你有什么好的降温方法这台房车这样设计,个人感觉相对实用依维柯欧胜目前算得上主流的C型车底盘,在此基础上近两年改了几个版本的C型,结合目前的房车设计理念,海王星用十多台车做了以下几个实践并证明了理念的可操作性柴油锅炉加热防冻液的热中心,中牟县开展守护童梦,与爱同行圆梦困境儿童微心愿服务活动中国公益在线郑州讯(公益记者张文孟)元旦假期前夕,郑州市中牟县民政局联合郑州市金水区恩夕社会工作服务中心发起了守护童梦,与爱同行圆梦困境儿童微心愿认领活动,短短一周时间,所有困境儿冬日打造暖意家居,让家温馨一片进入寒冬,天气很冷,您的家里是不是也该换上温暖的家居了呢?如果还没拿定主意的话,今天我就和伙伴们来分享的一些冬日家居,说不定哪件就是你家的菜在寒冷的冬季能让家里暖暖的,让人感觉是那端午节的家居应该怎么装?弄些应景好物来扮靓端午节是我们中华民族的传统节日,这不马上就要到啦!我们为了迎接它的到来,是不是应该把房间好好的布置一番呢?营造一个干净舒适的环境,这样才符合端午节幸福安康的主题,你们说是不是这个理佩戴安全头盔,幸福你我他记经开区朝凤路小学1月15日发放佩戴安全头盔倡议书活动2021年1月15日下午,经开区朝凤路小学学生学雷锋志愿小队队员们已经穿戴好志愿服装在学校大门口集结整齐,将要开始今天的学雷锋绿城使者守护玉娃因市政施工,郑州经开区瑞锦小学的学生路队线路发生变化,上下学时段在校门口马路中央两侧拉起了警戒线,为学生秩序安全入校,志愿服务的教师做足了准备。天蒙蒙亮,学校路口却川流不息,分列在