繁体   English   中英

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

[英]how can I invoke this PHP script using curl? (from bash command line)

我已经用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,但curl过程未完成-我必须在curl过程之外按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“-”“ curl / 7.35.0”

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

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

将保留第二个查询参数。

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

然后,我将(long)curl命令粘贴到终端中-其中包含使curl请求正常工作所必需的选项和参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM