我正在尝试将100个用户添加到人群中的一个组中,我希望使用curl和人群的rest来实现它的自动化。首先,我只是尝试将一个单用户添加到一个组中,然后使用shell脚本自动匹配它。在本文件之后,我将命令作为
curl -X POST{"name":"groupname"} -ik -u application:password-H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost/crowd/rest/usermanagement/1/user/group/direct?username=username.我得到了以下错误。
HTTP/1.1 405 Method Not Allowed
Server: Apache-Coyote/1.1
X-Embedded-Crowd-Version: Crowd/2.8.3
X-Crowd-User-Management-Version: 1.4
Set-Cookie: JSESSIONID=17490A660F9A2267B378CD767CEADDF8; Path=/crowd/; Secure; HttpOnly
Allow: HEAD,DELETE,POST,GET,OPTIONS
X-Content-Type-Options: nosniff
Content-Type: text/html;charset=utf-8
Content-Language: en
Content-Length: 1013
Date: Mon, 29 Jun 2015 02:56:15 GMTFYI:我正在使用一个应用程序通过rest对人群进行身份验证。请建议我需要做什么,我该怎么做。
我也需要想办法在人群中加入一大群人。
发布于 2015-06-29 03:50:20
您在POST和您的数据之间缺少一个空格。
张贴数据使用:
-d,-数据 ( HTTP )将POST请求中的指定数据发送到HTTP服务器,就像当用户填写HTML表单并按submit按钮时浏览器所做的那样。这将导致curl使用内容类型的应用程序/x-www-form-urlencoded将数据传递给服务器。与-F相比,-表格。
因此,命令应该是:
curl -X POST -d {"name":"groupname"} -ik -u application:password -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost/crowd/rest/usermanagement/1/user/group/direct?username=username来自人群医生,
对所有资源的身份验证访问(使用任何方法)要求客户端通过基本身份验证进行身份验证。见RFC 2617。 您的环境必须保留由群集服务器设置的cookie,并在随后的调用中重新传输它们,否则,群必须在每个REST调用上重新验证应用程序。
因此,首先验证自己并存储cookie,(注意-cookie-jar参数)
curl -i -u application_name:application_password --data '{"value": "my_password"}' http://localhost:8095/crowd/rest/usermanagement/1/authentication?username=my_username --header 'Content-Type: application/json' --header 'Accept: application/json' --cookie-jar cookies.txt因此,根据后续调用的文档,使用cookie(使用--cookie参数)
curl -X POST -d {"name":"groupname"} -ik -u application:password -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost/crowd/rest/usermanagement/1/user/group/direct?username=username --cookie cookies.txthttps://stackoverflow.com/questions/31107150
复制相似问题