我试图通过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);
它应该返回我的http响应201,但我收到服务器的响应登录形式或401(未经授权的用户)。
自从上一周以来我一直试图这样做,但是没有得到任何解决方案,请帮帮我。
提前感谢您的支持。
答案 0 :(得分:2)
请注意,这个问题非常具体:它与特定的XMPP服务器实现(Openfire)有关,并且使用专有的非标准接口(其REST插件)。您正在使用Android环境,PHP和/或cURL这一事实无关紧要。
当您收到401回复时,身份验证会出现问题。
正如Roman在下面的评论中指出的那样,你使用了错误的文档。请改用this!
Roman提出的另外两个观察结果(带外):
答案 1 :(得分:1)