1. 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/\\...
2. 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里面的反斜杠就好了。
3. Linux运维命令Curl - 日常用法总结
在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访问
4. Linux c使用libcurl库get模式发送xml数据,怎么配置curl
get模式,发请求,还要配置application/soap+xml; charset=utf-8
5. 如何在linux虚拟机中发送curl语句
之前用GET方式一直不行,接口那边调出log看说是空指针,说我们有参数没传过来。我想可能和我传了多个参数有关。 于是我改用POST方式也就是curl -d就可以了。
6. linux 怎么安装 curl
centos用yum -y install curl安装ubuntu用sudo apt-get install curl安装想要了解更多关于Linux的资讯和文章请关注《linux就该这么学》。
7. linux能直接支持curl命令么
linux系统分好多种,一般情况是可以直接使用的,系统默认自带。
如果没有的话,可以直接安装,安装分为两种
yum源安装通常至的centos、redhat系列例如yum -y install curl
ubuntu 则用 apt-get install curl
源码安装,获得安装包,从网上直接下载或者其他途径,这里直接wget
# wget http://curl.haxx.se/download/curl-7.20.0.tar.gz
--解压到当前目录(或者http://www.linuxidc.com/Linux/2014-08/106022.htm)
# tar -zxf curl-7.20.0.tar.gz
--进入解压后的目录内
# cd curl-7.17.1
--配置,指定安装的目录,这里是“/usr/local/curl”
# ./configure --prefix=/usr/local/curl
--
# make
--安装
# make install
--安装完毕
使用:
将curl命令加入环境变量,
命令行里执行(仅对本会话起作用,或者在.bash_profile、.bashrc文件里配置环境变量):
# export PATH=$PATH:/usr/local/curl/bin
设置环境变量
#vi /etc/profile 添加以下内容: export PATH=$PATH:/usr/local/curl/bin
8. Linux系统怎样模拟Http的get或post请求
一、get请求:
1、使用curl命令:
curl “http://www..com” 如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地
curl -i “http://www..com” 显示全部信息
curl -l “http://www..com” 只显示头部信息
curl -v “http://www..com” 显示get请求全过程解析
2、使用wget命令:
wget “http://www..com”也可以
二、post请求
1、使用curl命令(通过-d参数,把访问参数放在里面):
curl -d “param1=value1¶m2=value2” “http://www..com”
2、使用wget命令:(--post-data参数来实现)
wget --post-data ‘user=foo&password=bar’ http://www..com
以上就是Linux模拟Http的get或post请求的方法了,这样一来Linux系统也能向远程服务器发送消息了。
9. linux curl为何不生效呢请大神帮帮忙
把网址中的“断线”换成unicde试试
“http://192.168.1.99/userRpm/StatusRpm.htm?Disconnect=%65%AD%20%7E%BF&wan=1"
要判断问题在哪里,还是要看服务器返回了什么,也就是curl抓到了什么
10. 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的。