From 64d0c4f012afeb7da9857ea4999e323d05d1d8fd Mon Sep 17 00:00:00 2001
From: jaywcjlove 此 Curl 备忘清单包含命令和一些常见的 Curl 技巧示例。 Curl 是一种在服务器之间传输数据的工具,支持协议,包括 HTTP/FTP/IMAP/LDAP/POP3/SCP/SFTP/SMB/SMTP 等 Curl 备忘清单
入门
介绍
+
+ Options
+-o <file> # --output: 写入文件
+-u user:pass # --user: 验证
+
+
+-v # --verbose: 在操作期间使 curl 冗长
+-vv # 更冗长
+-s # --silent: 不显示进度表或错误
+-S # --show-error: 与 --silent (-sS) 一起使用时,显示错误但没有进度表
+
+
+-i # --include: 在输出中包含 HTTP 标头
+-I # --head: 仅标头
+
请求
+
+-X POST # --request
+-L # 如果页面重定向,请点击链接
+-F # --form: multipart/form-data 的 HTTP POST 数据
+
数据
+# --data: HTTP post 数据
+# URL 编码(例如,status="Hello")
+-d 'data'
+
+# --data 通过文件
+-d @file
+
+# --get: 通过 get 发送 -d 数据
+-G
+
头信息 Headers
+-A <str> # --user-agent
+
+-b name=val # --cookie
+
+-b FILE # --cookie
+
+-H "X-Foo: y" # --header
+
+--compressed # 使用 deflate/gzip
+
SSL
+ --cacert <file>
+ --capath <dir>
+
+-E, --cert <cert> # --cert: 客户端证书文件
+ --cert-type # der/pem/eng
+-k, --insecure # 对于自签名证书
+
安装
+apk add --update curl # alpine linux 中安装
+
示例
CURL GET/HEAD
+命令 说明 curl -I https://www.baidu.com
curl
发请求curl -v -I https://www.baidu.com
带有详细信息的 curl
发请求curl -X GET https://www.baidu.com
使用显式 http 方法进行 curl
curl --noproxy 127.0.0.1 http://www.stackoverflow.com
没有 http 代理的 curl
curl --connect-timeout 10 -I -k https://www.baidu.com
curl
默认没有超时curl --verbose --header "Host: www.mytest.com:8182" www.baidu.com
curl
得到额外的标题curl -k -v https://www.google.com
curl
获取带有标题的响应 多文件上传
+$ curl -v -include \
+ --form key1=value1 \
+ --form upload=@localfilename URL
+
为 curl 响应美化 json 输出
+
+$ curl -XGET http://${elasticsearch_ip}:9200/_cluster/nodes | python -m json.tool
+
CURL POST
+命令 说明 curl -d "name=username&password=123456" <URL>
curl
发请求curl <URL> -H "content-type: application/json" -d "{ \"woof\": \"bark\"}"
curl
发送 json CURL 脚本安装 rvm
+curl -sSL https://get.rvm.io | bash
+
CURL 高级
+命令 说明 curl -L -s http://ipecho.net/plain, curl -L -s http://whatismijnip.nl
获取我的公共 IP
curl -u $username:$password http://repo.dennyzhang.com/README.txt
带凭证的 curl
curl -v -F key1=value1 -F upload=@localfilename <URL>
curl
上传curl -k -v --http2 https://www.google.com/
使用 http2 curl curl -T cryptopp552.zip -u test:test ftp://10.32.99.187/
curl ftp
上传curl -u test:test ftp://10.32.99.187/cryptopp552.zip -o cryptopp552.zip
curl ftp
下载curl -v -u admin:admin123 --upload-file package1.zip http://mysever:8081/dir/package1.zip
使用凭证 curl
上传 检查网站响应时间
+
+curl -s -w \
+ '\nLookup time:\t%{time_namelookup}\nConnect time:\t%{time_connect}\nAppCon time:\t%{time_appconnect}\nRedirect time:\t%{time_redirect}\nPreXfer time:\t%{time_pretransfer}\nStartXfer time:\t%{time_starttransfer}\n\nTotal time:\t%{time_total}\n' \
+ -o /dev/null https://www.google.com
+
使用 Curl 检查远程资源是否可用
+
+curl -o /dev/null --silent -Iw "%{http_code}" https://example.com/my.remote.tarball.gz
+
Chmod +
Curl +Chmod diff --git a/style/style.css b/style/style.css index 656f04ac..d40604f1 100644 --- a/style/style.css +++ b/style/style.css @@ -450,6 +450,8 @@ a.text-grey { .wrap-header.h1wrap .wrap-body { color: var(--color-fg-subtle); + max-width: 850px; + margin: 0 auto; } .wrap-header.h1wrap > h1 { @@ -638,7 +640,7 @@ body:not(.home) .h2wrap-body > .wrap:hover .h3wrap > h3 a::after { } .h2wrap-body ul.style-timeline li::before { color: #228e6c; - background-color: #fff; + background-color: var(--color-canvas-default); counter-increment: stepCount; content: counter(stepCount); border-radius: initial;