如何使用curl调用此PHP脚本? (来自bash命令行)

时间:2015-04-07 13:19:14

标签: php bash curl

我用PHP编写了一个脚本,其目的只是查询数据库,然后发送包含结果的电子邮件。

我可以通过简单地使用查询字符串请求URL来使用浏览器调用脚本,例如输入地址栏

http://localhost/myapp/index.php?model=manage&view=main

这会调用脚本,一切正常。 注意:一些HTML是由脚本生成的 - 这是由我的脚本挂钩到一个更大的应用程序引起的。

当我尝试使用:

从bash命令行调用脚本时
curl http://localhost/myapp/index.php?model=manage&view=main 

curl显示脚本生成的HTML,但是卷曲过程没有完成 - 我必须{curce]进程ctrl + c并且脚本处理不正确并且不发送电子邮件

apache访问日志输出

似乎Apache正在截断查询字符串中的第二个变量

127.0.0.1 - - [08 / Apr / 2015:01:28:47 +1200]" GET /myapp/index.php?model=manage HTTP / 1.1" 200 23549" - " "卷曲/ 7.35.0"

2 个答案:

答案 0 :(得分:2)

您需要转义&字符,例如将网址放在双引号中,如下所示:

curl "http://localhost/myapp/index.php?model=manage&view=main"

将保留第二个查询参数。

答案 1 :(得分:0)

我解决这个问题的方法是在开启dev工具的情况下请求chrome中的URL 我在网络选项卡中查看了请求,然后右键单击了请求并选择了“另存为卷曲选项”。

然后我将(长)curl命令粘贴到终端中 - 其中包含使卷曲请求起作用所需的选项和参数。