我使用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页面并以行结束
[1] + Done curl -v -u username:password http://example.com/index.html?process=waterServer
这是正确的行为吗?如果将以上链接复制粘贴到浏览器上,则会询问用户名/密码并重新启动服务器。
答案 0 :(得分:0)
你必须逃避'&'在URL参数中。
curl -v -u用户名:密码http://example.com/index.html?process=waterServer ^& action = restart
如果不起作用,请尝试使用curl --data-urlencode
答案 1 :(得分:0)
在Ubuntu上运行的正确选项是-d
。现在要执行的命令是,
curl -L -u username:password http://example.com/index.html? -d process=waterServer -d action=restart
-L
是要重定向的页面。