You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用curl调用Matrix API检查用户名可用性时遇M_UNKNOWN错误求助

问题:调用Matrix API检查用户名可用性返回M_UNKNOWN错误

我尝试用curl通过Matrix协议调用matrix.org服务器的API检查用户名可用性,执行了以下命令:

curl -H "Content-Type: application/json" -X GET "https://matrix.org/_matrix/client/v3/register/available?username=john" -d "{}"

或简化版本:

curl -X GET "https://matrix.org/_matrix/client/v3/register/available?username=john"

但始终返回错误:

{"errcode":"M_UNKNOWN","error":"Server is unavailable"}

我确认请求符合Matrix v1.11客户端-服务器API规范,且服务器可用:一是能响应上述请求(虽返回错误),二是正常响应版本请求:

curl -H "Content-Type: application/json" -X GET "https://matrix.org/_matrix/client/versions" -d "{}"

请问哪里操作有误?


解决建议
  • GET请求禁止携带请求体:你第一个命令同时使用-X GET和-d "{}",会构造出带请求体的GET请求,这不符合HTTP标准规范,matrix.org服务器会对这类异常请求直接返回错误。请完全移除-d "{}"参数,仅使用不带请求体的GET命令。

  • 添加合法的User-Agent请求头:多数公共API会拦截无User-Agent标识的请求,matrix.org也有这类限制。修改命令如下(可替换为你实际的curl版本或其他合法标识):

curl -H "User-Agent: curl/7.88.1" -X GET "https://matrix.org/_matrix/client/v3/register/available?username=john"
  • 注意公共服务器的请求限制:matrix.org作为大型公共Matrix服务器,对未认证请求有频率限制和拦截机制。如果多次请求失败,建议间隔一段时间重试,或者改用自己搭建的Matrix服务器测试API,验证规范请求的有效性。

内容的提问来源于stack exchange,提问作者LiterallyCode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 12:03:14