Linux运维命令Curl - 日常用法总结

Linux运维命令Curl - 日常用法总结,第1张

在Linux系统中,curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载 *** 作,是综合传输工具,习惯上称url为下载工具。下面就日常运维中基于curl命令使用做下总结

一、Curl命令用法

1. curl语法和参数选项

# curl [option] [url]

curl常见参数

2. curl使用说明

curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面。它支持多种协议,下面说下curl命令的日常使用示例:

3. curl上传文件的用法(POST请求方式)

一般来说,我们都会用curl下载网页,但是curl上传文件则不常用。下面说下curl模拟"multipart/form-data"形式的form上传文件, 命令稍稍复杂些。

4. curl常用示例

5. curl命令的超时时间

二、Curl的GET、POST、PUT、DELETE请求

1. GET、POST、PUT、DELETE含义与区别

2. GET、POST、PUT、DELETE四种请求方式的curl访问

先试试非特殊字符是否OK;如果OK,那应该就是url encode的问题了。

建议最后的URL用引号引起来:

https://192.168.1.23:443/bmsc/\\\~\_\!\@\$\^\&\*.xml

非特殊字符的是OK的。

“ 建议最后的URL用引号引起来:

https://192.168.1.23:443/bmsc/\\\~\_\!\@\$\^\&\*.xml ”

是这样吗:

curl --data-urlencode "\\~\_\!\@\$\^\&\*.xml" --cacert /var/ca-pem/ca-bundle-for-cdn.pem --digest “https://192.168.1.23:443/bmsc/\\\~\_\!\@\$\^\&\*.xml ”

引用 3 楼 xiaoxiao_0223 的回复:非特殊字符的是OK的。

“ 建议最后的URL用引号引起来:

https://192.168.1.23:443/bmsc/\\\~\_\!\@\$\^\&\*.xml ”

是这样吗:

curl --data-urlencode "\\~\_\!\@\$\^\&\*.xml" --cacert /var/ca-pem/ca-bundle-for-cdn.pem --digest “https://192.168.1.23:443/bmsc/\\\~\_\!\@\$\^\&\*.xml ”

注意中英文,最好用单引号,双引号的话Shell还是会解析的。

引用 4 楼 lishanchao 的回复:Quote: 引用 3 楼 xiaoxiao_0223 的回复:

非特殊字符的是OK的。

“ 建议最后的URL用引号引起来:

https://192.168.1.23:443/bmsc/\\\~\_\!\@\$\^\&\*.xml ”

是这样吗:

curl --data-urlencode "\\~\_\!\@\$\^\&\*.xml" --cacert /var/ca-pem/ca-bundle-for-cdn.pem --digest “https://192.168.1.23:443/bmsc/\\\~\_\!\@\$\^\&\*.xml ”

注意中英文,最好用单引号,双引号的话Shell还是会解析的。

这个含特殊字符的URL解析不了,主要是因为有了一个反斜杠在里面,当没有反斜杠时是可以正常 get的,最后找到了解决的方法,不过是个比较笨的方法,命令是这样的,用 反斜杠 encode的值代替 加到URL里面:

curl -v -G --cacert /var/ca-pem/ca-bundle-for-cdn.pem --digest https://MPD-IS-01:443/bmsc/%5C\~_\!\@\$\^\&\*%23.xml -o sa003.xml

这里没有再用 --data-urlencode 这个参数了,因为 --data-urlencode后会在你的URL后面会多出一个问号:?;而是直接先将"\\" encode,方法如下:

curl -v -G --cacert /var/ca-pem/ca-bundle-for-cdn.pem --digest https://MPD-IS-01:443/bmsc/ --data-urlencode "\\"

用上面的命令可以得到"\\"的 Unicode编码,会在命令下直接打出来的,能看到是"%5C",得到这个值后,直接替换URL里面的反斜杠就好了。

curl没有支持unicode.

curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。

这些函数在PHP 4.0.2中被引入。

以下包含了PHP cURL函数列表:

curl_close()关闭一个cURL会话。

curl_copy_handle()复制一个cURL句柄和它的所有选项。

curl_errno()返回最后一次的错误号。

curl_error()返回一个保护当前会话最近一次错误的字符串。

curl_escape()返回转义字符串,对给定的字符串进行URL编码。

curl_exec()执行一个cURL会话。

curl_file_create()创建一个CURLFile对象。

curl_getinfo()获取一个cURL连接资源句柄的信息。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7274928.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存