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

使用RestSharp连接Synology NAS失败的问题求助

解决C#中RestSharp连接Synology NAS失败的问题

问题回顾

  • 首次尝试使用QuickConnect地址发起请求,返回Request failed with status code Redirect
  • 第二次改用手动验证有效的HTTPS地址,返回Error sending request

关键问题分析

  1. 请求方法不匹配:两次代码中都将RestRequest定义为Method.Post,但调用的是ExecuteGetAsync,请求方法与执行方法冲突,直接引发错误。
  2. SSL证书验证拦截:Synology NAS默认使用自签名SSL证书,RestSharp默认会验证证书有效性,导致HTTPS请求失败。
  3. 地址与端口不匹配:首次尝试用的是HTTP+5000端口,但手动验证有效的是HTTPS+5001端口,协议和端口不一致触发重定向问题。
  4. 冗余参数干扰:首次代码中的path参数是多余的,Synology API不需要该参数。

修复方案

  1. 统一请求方法:选择Get或Post,并对应调用正确的执行方法(ExecuteGetAsync或ExecutePostAsync),Synology API支持两种请求方式,这里以Get为例更简洁。
  2. 禁用SSL证书验证:在RestClientOptions中关闭证书验证,适配NAS自签名证书的场景。
  3. 使用正确的目标地址:直接采用手动验证有效的HTTPS地址(带5001端口)。
  4. 清理冗余参数:移除不必要的path参数。

完整可运行示例代码

public async Task TryConnection()
{
    // 配置客户端选项,使用验证有效的HTTPS地址
    var clientOptions = new RestClientOptions("https://192-168-178-23.fdesign-gmbh.direct.quickconnect.to:5001/")
    {
        // 跳过自签名证书验证
        RemoteCertificateValidationCallback = (sender, cert, chain, sslPolicyErrors) => true,
        FollowRedirects = true
    };

    var client = new RestClient(clientOptions);

    // 定义GET请求,参数自动转为URL查询参数
    var request = new RestRequest("/webapi/entry.cgi", Method.Get);
    request.AddParameter("api", "SYNO.API.Info");
    request.AddParameter("version", "1");
    request.AddParameter("method", "query");
    request.AddParameter("query", "SYNO.API.Auth,SYNO.FileStation");

    // 异步执行请求(推荐用await替代.Result,避免死锁)
    var response = await client.ExecuteGetAsync(request);

    if (response.IsSuccessful)
    {
        string resultContent = response.Content;
        // 处理返回的JSON数据
    }
    else
    {
        string errorMessage = response.ErrorMessage;
        // 处理请求错误
    }
}

额外注意事项

  • 优先使用await调用异步方法,避免UI线程死锁问题。
  • 若后续调用需要授权的API(如文件管理),需先调用SYNO.API.Auth的login方法获取会话凭证,后续请求携带该凭证。
  • 若要改用Post方法,只需将Method.Get改为Method.Post,并调用ExecutePostAsync即可,Synology API会自动处理参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 12:25:22