我用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正在截断查询字符串中的第二个变量
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"
答案 0 :(得分:2)
您需要转义&
字符,例如将网址放在双引号中,如下所示:
curl "http://localhost/myapp/index.php?model=manage&view=main"
将保留第二个查询参数。
答案 1 :(得分:0)
我解决这个问题的方法是在开启dev工具的情况下请求chrome中的URL 我在网络选项卡中查看了请求,然后右键单击了请求并选择了“另存为卷曲选项”。
然后我将(长)curl命令粘贴到终端中 - 其中包含使卷曲请求起作用所需的选项和参数。