美文网首页
linux curl命令中的单引号、双引号和变量使用

linux curl命令中的单引号、双引号和变量使用

作者: 菩提老鹰 | 来源:发表于2022-02-07 14:52 被阅读0次

知识点

1、curl如何单引号、双引号结合使用
2、curl中如果只使用双引号且绑定变量
3、curl下载网络资源
3、curl扩展,性能监控


单引号、双引号结合使用

参数是在单引号中,比如 'Content-type:application/json'
json中的 k-v 是要在双引号中,所以如果遇到要在curl中使用变量,就使用 字符串拼接

curl -i -X POST -H 'Content-type:application/json' \
-d '{"msgtype": "text", "text": {"content": "'$warnmsg'"}}' \
'https://oapi.dingtalk.com/robot/send?access_token=xxx'

全部使用双引号

不方便的地方在于json中的k-v都需要使用双引号,那就需要进行转移",如果json中的k-v很多,那就书写有点麻烦

curl -X POST -H "Content-Type:application/json"  \
-d "{\"userid_list\": \"${userid}\" ,\"msg\": {\"msgtype\": \"text\", \"text\": {\"content\": \"${build_msg}\"}}}" "https://oapi.dingtalk.com/robot/send?access_token=xxx"

补充

1、curl下载文件

  • -o filename

-o 参数需要后面紧跟一个自定义的文件名

所以除了URL是具体的文件地址之外,URL也可以是非具体地址,比如 https://www.baidu.com 会报错整个网页的内容

  • -O

该参数后面跟的URL地址只能是具体的文件地址

另外

-C 可以实现断点续传
-# 显示下载进度
-s 静默输出
-A 模拟浏览器,比如Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)
-e 伪造referer(盗链)

2、监控网页请求性能

核心是利用-w参数(--write-out)使用curl内置的标识来输出请求过程的一些性能数据,比如状态码、总响应时长、DNS解析时长等

比如

curl -s -o /dev/null -w "%{http_code} %{remote_ip} %{time_total}" https://www.baidu.com

输出了状态码、用户IP和响应时长

具体的标识有:

  • content_type
  • filename_effective
  • ftp_entry_path
  • http_code http状态码
  • http_connect
  • local_ip
  • local_port
  • num_connects
  • num_redirects
  • redirect_url
  • remote_ip
  • remote_port
  • size_download
  • size_header
  • size_request
  • size_upload
  • speed_download
  • speed_upload
  • ssl_verify_result
  • url_effective

重点关注这几个时间相关的

  • time_appconnect
    连接建立完成时间,如SSL/SSH等建立连接或者完成三次握手时间
  • time_connect
    连接时间,从开始到建立TCP连接完成所用时间,包括前边DNS解析时间,如果需要单纯的得到连接时间
  • time_namelookup
    DNS解析时间
  • time_pretransfer
    从开始到准备传输时间
  • time_redirect
    重定向时间,包括到最后一次传输前的几次重定向的DNS解析,连接,预传输,传输时间
  • time_starttransfer
    开始传输时间。在发出请求之后,Web 服务器返回数据的第一个字节所用的时间
  • time_total
    总时间,单位秒,精度为小数点后三位

相关文章

  • linux curl命令中的单引号、双引号和变量使用

    知识点 1、curl如何单引号、双引号结合使用2、curl中如果只使用双引号且绑定变量3、curl下载网络资源3、...

  • PHP面试基础题(一)

    1.双引号和单引号的区别? 答:双引号中的变量将被解,单引号中的变量不全被解析;使用双引号会先查询是否引号中包含变...

  • Shell 中单引号和双引号区别

    (1)单引号不取变量值 (2)双引号取变量值 (3)反引号`,执行引号中命令 (4)双引号内部嵌套单引号,取出变量...

  • PHP面试4

    1、双引号和单引号的区别 双引号解释变量,单引号不解释变量 双引号里插入单引号,其中单引号里如果有变量的话,变量解...

  • php基础面试题

    1、双引号和单引号的区别 双引号解释变量,单引号不解释变量 双引号里插入单引号,其中单引号里如果有变量的话,变量解...

  • PHP经典面试题目汇总

    1、双引号和单引号的区别 双引号解释变量,单引号不解释变量 双引号里插入单引号,其中单引号里如果有变量的话,变量解...

  • 2017年最新PHP经典面试题目汇总(上篇)

    1、双引号和单引号的区别 双引号解释变量,单引号不解释变量 双引号里插入单引号,其中单引号里如果有变量的话,变量解...

  • 2017最新PHP经典面试题目汇总(上篇)

    1、双引号和单引号的区别 双引号解释变量,单引号不解释变量双引号里插入单引号,其中单引号里如果有变量的话,变量解释...

  • PHP面试题

    1、双引号和单引号区别 双引号解释变量,单引号不解释变量。 双引号里插入单引号,其中单引号里如果有变量的话,变量解...

  • sed命令引入变量的两种方法

    1.sed命令使用单引号的情况下,可以使用'"$var"'引用(单引号,然后双引号,变量): sed -i '2s...

网友评论

      本文标题:linux curl命令中的单引号、双引号和变量使用

      本文链接:https://www.haomeiwen.com/subject/cxymkrtx.html