Ⅰ linux curl,https get 地址里有特殊字符怎么处理
先试试非特殊字符是否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里面的反斜杠就好了。
Ⅱ Linux 文件链接命令 如何让URL去访问这个链接文件下的文件
用apache做个虚拟目录
Ⅲ linux里在命令行怎样得到url,并显示在终端里
linux下的复制快捷键是ctrl+shift+c
粘贴的快捷键是ctrl+shift+v