通过 Linux 命令行获取带有变量的 URL

通过 Linux 命令行获取带有变量的 URL

抱歉,这似乎是一个非常简单的命令,但我已经搜索了几个小时都没有任何解决方案,并且耗尽了我非常有限的 Linux 知识。:-)

我需要使用一些命令从 Centos Linux 命令行处理以下 URL。

http://www.example.com/?sm_command=build&sm_key=kdfs7kj6dgo3sigj34df1

我尝试使用 wget 和 curl 启用各种选项,并在 URL 周围使用单引号和双引号。所有尝试的命令都会拉出主页并删除问号后的所有内容。此 URL 在浏览器中成功运行,仅显示“完成”。

最终,这将以每隔一段时间运行一次的 cron 作业结束。

请告知我完成此操作的正确语法是什么。

在此先非常感谢您的帮助。

答案1

它应该与单引号一起使用,如果不使用 \& 来转义 &

行为取决于您使用的 shell,因此 YMMV

没有引号,错误请求:

david@atl:~$ wget http://www.example.com/?sm_command=build&sm_key=kdfs7kj6dgo3sigj34df1
2013-04-07 01:54:10 (68.1 MB/s) - `index.html?sm_command=build' saved [1111]

带单引号,请求成功:

david@atl:~$ wget 'http://www.example.com/?sm_command=build&sm_key=kdfs7kj6dgo3sigj34df1'
2013-04-07 01:54:24 (99.7 MB/s) - `index.html?sm_command=build&sm_key=kdfs7kj6dgo3sigj34df1' saved [1111]

没有引号,转义的 & 符号,请求成功:

david@atl:~$ wget http://www.example.com/?sm_command=build\&sm_key=kdfs7kj6dgo3sigj34df1
2013-04-07 01:57:31 (102 MB/s) - `index.html?sm_command=build&sm_key=kdfs7kj6dgo3sigj34df1.2' saved [1111]

相关内容