如何通过 php 从聊天室 xmpp 服务器中删除成员
how to delete member from chat room xmpp server via php
我正在尝试通过 php 从 XMPP 服务器删除聊天室成员。我正在为此使用 curl 请求。
$url = "http://188.***.***.***/plugins/restapi/v1/chatrooms/".$roomName."/members/".$userJID;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/xml", "Authorization : ******")); //I am using plugin.userservice.secret key here
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "DELETE");
$json_response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
它应该 return 我的 http 响应 201,但我收到服务器的登录表单响应或 401(未授权用户)。
我从上周开始尝试这样做,但一直没有得到任何解决方案,请帮助我。
在此先感谢您的支持。
请注意这个问题是否非常具体:它与特定的 XMPP 服务器实现 (Openfire) 相关,并使用专有的非标准接口(其 REST 插件)。事实上,您正在使用 Android 环境,PHP and/or cURL 是无关紧要的。
当您收到 401 响应时,说明身份验证有问题。
正如 Roman 在下面的评论中指出的那样,您使用了错误的文档。请改用 this!
Roman 进行的其他两项观察(带外):
- "Authorization :"中多了space个字符,需要"Authorization:"
- 您应该使用的 属性 是 plugin.restapi.secret,而不是 plugin.userservice.secret。
由于这个问题已经得到很好的回答,但我想回答 Android 特定上下文,以便其他遇到此问题的用户可以找到替代方法。
android here. You can integrate it directly as android module. Here is an app already using it. You can also have a look on this client library written in php.
有一个 RestApiClinet 库
我正在尝试通过 php 从 XMPP 服务器删除聊天室成员。我正在为此使用 curl 请求。
$url = "http://188.***.***.***/plugins/restapi/v1/chatrooms/".$roomName."/members/".$userJID;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/xml", "Authorization : ******")); //I am using plugin.userservice.secret key here
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "DELETE");
$json_response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
它应该 return 我的 http 响应 201,但我收到服务器的登录表单响应或 401(未授权用户)。
我从上周开始尝试这样做,但一直没有得到任何解决方案,请帮助我。
在此先感谢您的支持。
请注意这个问题是否非常具体:它与特定的 XMPP 服务器实现 (Openfire) 相关,并使用专有的非标准接口(其 REST 插件)。事实上,您正在使用 Android 环境,PHP and/or cURL 是无关紧要的。
当您收到 401 响应时,说明身份验证有问题。
正如 Roman 在下面的评论中指出的那样,您使用了错误的文档。请改用 this!
Roman 进行的其他两项观察(带外):
- "Authorization :"中多了space个字符,需要"Authorization:"
- 您应该使用的 属性 是 plugin.restapi.secret,而不是 plugin.userservice.secret。
由于这个问题已经得到很好的回答,但我想回答 Android 特定上下文,以便其他遇到此问题的用户可以找到替代方法。 android here. You can integrate it directly as android module. Here is an app already using it. You can also have a look on this client library written in php.
有一个 RestApiClinet 库