0

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

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

似乎 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 页面并以 line 结束

[1]+ 完成 curl -v -u 用户名:密码http://example.com/index.html?process=waterServer

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

4

2 回答 2

0

您必须在 URL 参数中转义您的“&”。

curl -v -u 用户名:密码http://example.com/index.html?process=waterServer ^&action=restart

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

于 2013-09-30T10:00:42.400 回答
0

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

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

-L是获取重定向页面。

于 2013-10-01T05:24:12.043 回答