我想通过REST调用来卷曲网址。该呼叫需要与其一起发送授权标头。授权标头中包含一个!(撇号)字符。当我发送它时会抛出以下错误。
-bash:!FeTSs:找不到事件
curl -H“X-Med-Authorization:3b7N / FNDcEVX& v09n8O6jeUz9l!FeTSs; cSf3wz / mDsvzKGX”-X GET http://192.168.1.2:8383/dcCore/health/
我搜索出答案是在帖子数据中转义特殊字符但不在标题中。
答案 0 :(得分:2)
您可以使用$''
格式按原样传递参数。例如
curl -H $'appCookie = x-Abc!123'http://localhost
答案 1 :(得分:1)
我自己遇到了这个问题,并且在寻找解决方案之前感到非常沮丧,直到我发现反斜杠就足够了!
所以:
curl -H "X-Med-Authorization:3b7N/FNDcEVX&v09n8O6jeUz9l!FeTSs;cSf3wz/mDsvzKGX" -X GET http://192.168.1.2:8383/dcCore/health/
只需成为:
curl -H "X-Med-Authorization:3b7N/FNDcEVX&v09n8O6jeUz9l\!FeTSs;cSf3wz/mDsvzKGX" -X GET http://192.168.1.2:8383/dcCore/health/
使用--verbose
标志运行cURL时,可以通过查看输出来检查是否发送了正确的标头。在那我看到:
> X-Med-Authorization:3b7N/FNDcEVX&v09n8O6jeUz9l!FeTSs;cSf3wz/mDsvzKGX
没有反斜杠。繁荣。我怀疑您现在已经找到了解决方案,但是希望这可以帮助某人。