.NET 7.0 MAUI安卓端RestRequest报Method Not Allowed问题求助
问题排查与解决方案
核心原因
你的代码在安卓端触发Method Not Allowed的关键问题是:对GET请求添加了请求体(RequestBody)。
HTTP规范中,GET请求设计为无请求体的请求方式,虽然部分服务器或Windows端的HTTP客户端对这种不符合规范的请求兼容度较高,但安卓端的底层HTTP实现(或RestSharp在安卓上的处理逻辑)更严格,导致服务器拒绝该请求并返回405错误。
修复步骤
直接移除GetPilots方法中添加请求体的代码即可:
修改前的代码片段:
var request = new RestRequest("Pilot", Method.Get); request.AddHeader("Authorization", "bearer " + token.Trim((char)34)); var body = @""; request.AddParameter("text/plain", body, ParameterType.RequestBody); // 这行是问题所在
修改后:
var request = new RestRequest("Pilot", Method.Get); request.AddHeader("Authorization", "bearer " + token.Trim((char)34)); // 移除添加请求体的代码
额外验证点
- 确认令牌格式:确保
token.Trim((char)34)确实移除了多余的双引号,避免Authorization头格式错误。 - 检查服务器路由:确认
/Pilot端点确实支持GET方法(不过Windows端能正常运行,这点大概率没问题)。
内容的提问来源于stack exchange,提问作者Bob
相关产品推荐
相关产品推荐

