cron 和 wget 的 URL 编码问题

cron 和 wget 的 URL 编码问题

我有一个简单的 bash 脚本:

#!/bin/bash
wget -q 'http://requestb.in/1fq0r3s1?foo=a%2Bb' -O /dev/null

如果我从命令行运行它,然后检查 http://requestb.in/1fq0r3s1?inspect我懂了

请求参数
:a+b

这正是我所期望的。

然而,当 CRON 运行 bash 脚本时,我看到

请求参数
:AB

看起来好像某些东西在发送之前已经解码了 URL,将其转换%2B+接收服务器随后将其解释为空格。

有人能解释一下这一点并帮助我弄清楚如何让脚本在 cron 中像从命令行运行时一样运行吗?

(注意:curl没有遭受同样的行为,但我有兴趣了解为什么wget会出现这样的行为)

答案1

%(百分比)表示 cron 中的新行!

因此,您要么像这样退出它foo=a\%2Bb,要么将命令放在 bash 文件中,然后在 crontab 中运行该文件。

相关内容