Curl 不执行动作

Curl 不执行动作,curl,Curl,我使用curl执行get操作。(此链接将发出服务器重新启动) curl似乎忽略了请求中的操作部分。我得到的输出是 * Trying example.com... connected * Server auth using Basic with user 'username' > GET /index.html?process=waterServer HTTP/1.1 > Authorization: Basic ############# > User-Agent: bla

我使用curl执行get操作。(此链接将发出服务器重新启动)

curl似乎忽略了请求中的操作部分。我得到的输出是

*   Trying example.com... connected
* Server auth using Basic with user 'username'
> GET /index.html?process=waterServer HTTP/1.1
> Authorization: Basic #############
> User-Agent: bla bla bla
> Host: example.com
> Accept: */*
然后输出HTML页面并以第行结束

[1] +Done curl-v-u用户名:密码


这是正确的行为吗?如果上面的链接是复制粘贴到浏览器上的,它会要求输入用户名/密码并重新启动服务器

您必须在URL参数中转义'&'

curl-v-u用户名:密码^&action=restart


如果不起作用,请尝试使用curl--data-urlencode

在Ubuntu上工作的正确选项是
-d
。现在要执行的命令是

curl -L -u username:password http://example.com/index.html? -d process=waterServer -d action=restart 

-L
将获得重定向页面。

它不起作用。我得到了相同的输出
>get/index.html?process=waterServer^HTTP/1.1>
最后一行是相同的
[1]+Done curl-v-L-u用户名:密码http://example.com/index.html?process=waterServer^
好吧,转义取决于您使用的操作系统。刚才添加了另一种方法,但也不起作用。感谢您指出转义
&
。我补充了答案。
curl -L -u username:password http://example.com/index.html? -d process=waterServer -d action=restart