shell curl 数据中含有空格 如何提交

来源:本站原创 IT必备工具 超过48 views围观 0条评论

 

如果提交内空带 空格 提交会报错

"msg":"ddddddddddddddddddddddddddd dddddddddddd dddddddddddddd dddddddddd dddddddd"}

curl: (6) Could not resolve host: dddddddddddd; Unknown error
curl: (6) Could not resolve host: dddddddddddddd; Unknown error
curl: (6) Could not resolve host: dddddddddd; Unknown error
curl: (3) [globbing] unmatched close brace/bracket at pos 10

 

解决方案1

 

去掉空格,或用%20等替换

 

将这些字符转化成服务器可以识别的字符,对应关系如下:
URL字符转义

用其它字符替代吧,或用全角的。

+    URL 中+号表示空格                                 %2B   
空格 URL中的空格可以用+号或者编码           %20 
/   分隔目录和子目录                                     %2F     
?    分隔实际的URL和参数                             %3F     
%    指定特殊字符                                          %25     
#    表示书签                                                  %23     
&    URL 中指定的参数间的分隔符                  %26     
=    URL 中指定参数的值                                %3D

 

方案2.

最重要的来了, “$data”  要加双引号

curl -H "Content-Type:application/json" -X POST -d "$data" $url

文章出自:CCIE那点事 http://www.jdccie.com/ 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。 禁止全文转载。
本文链接:http://www.jdccie.com/?p=3989转载请注明转自CCIE那点事
如果喜欢:点此订阅本站
  • 相关文章
  • 为您推荐
  • 各种观点

暂时还木有人评论,坐等沙发!
发表评论

您必须 [ 登录 ] 才能发表留言!