linux shell脚本curl,linux-在bash脚本中使用curl并获取curl:(3)在URL中发现非法字符...

因此,我有一个非常简单的bash脚本,该脚本会卷曲到头的身份验证服务器。 标头网址被写入var,然后在下一个curl调用中使用。 在第一个curl调用中使用var集时,我得到“ curl:(3)在URL中发现非法字符”。 我能够回显var,并且看起来一切都很好,甚至可以重置var(在下面的示例中),并且可以正常工作。

Bash脚本

URL=$(curl -i -X GET -H "X-Auth-User: MyUserna,e" -H "X-Auth-Key: MyAPIKey" "https://urlToAuthServer.tld/auth/v1.0/" | grep "X-Storage-Url:" | awk '{print $2}')

curl -X GET -H "X-Auth-Token: MyAuthTok" "${URL}/folder/myfile.txt" -o ./myfile.txt

运行上面的示例时,我得到:

curl: (3) Illegal characters found in URL

URL var看起来像这样(没有非法字符)

https://somesecureurl.com/auth/AUTH_67383834-45245453-g34g34t5-34534

当我在终端中执行此操作时:

$ URL = $(curl -i -X GET -H“ X-Auth-User:MyUserna,e” -H“ X-Auth-Key:MyAPIKey”“ [https://urlToAuthServer.tld/auth/v1.0 /“] | grep” X-Storage-Url:“ | awk'{print $ 2}')

$ echo $ URL

[HTTPS://some secure URL.com/AU TH/AU TH_67383834-45245453-个34个34他5-34534]

现在,我复制并粘贴字符串,然后将其分配给URL(同样在终端中):

>$ URL="https://somesecureurl.com/auth/AUTH_67383834-45245453-g34g34t5-34534"

>$ curl -X GET -H "X-Auth-Token: MyAuthTok" "${URL}/folder/myfile.txt" -o ./myfile.txt

有用。

那么,为什么在第一个示例中出现“ curl:(3)URL中发现非法字符”错误?

更新资料我跑了这个:printf %s "$URL" | xxd

这是输出(地址变了,您就知道了)

0000000: 6874 7470 733a 2f2f 6461 6c30 352e 6f62 https://server.ob

0000010: 6a65 6374 7374 6f72 6167 652e 736f 6674 jectstorage.lite

0000020: 6c61 7965 722e 6e65 742f 7631 2f41 5554 sabers.com/v1/AUT

0000030: 485f 6665 3235 3339 3434 2d38 6433 322d H_aE2563981-7d32-

0000040: 3432 3138 2d61 6566 632d 6665 6638 3465 4201-bdoi-fef94a

0000050: 6166 3331 6232 0d ag11c8.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值