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

C# Windows Forms调用第三方短信API报错:基础连接已关闭,接收时发生意外错误

解决方案

1. 优先修复TLS协议版本不匹配问题

该错误90%以上的场景是因为程序默认使用的TLS版本低于第三方API要求的最低版本(当前绝大多数公开HTTPS接口要求TLS 1.2及以上)。
在创建HttpWebRequest实例前添加如下代码指定协议版本:

// 适配多版本TLS,优先使用高版本
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

如果你使用的是.NET Framework 4.0及更低版本,没有Tls12枚举,用如下代码代替:

ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072 /*TLS1.2*/ | (SecurityProtocolType)768 /*TLS1.1*/ | (SecurityProtocolType)192 /*TLS1.0*/;

如果是.NET Framework 4.7及以上版本,可以直接在App.config中添加配置无需硬编码:

<runtime>
  <AppContextSwitchOverrides value="Switch.System.Net.DontEnableSystemDefaultTlsVersions=false"/>
</runtime>

2. 补充请求参数校验与异常捕获

  • 确认代码中authKey字段已填入你在msg91平台申请的有效鉴权密钥,空鉴权信息会触发服务端主动断开连接
  • 建议给HttpWebRequest添加超时、关闭长连接配置,避免连接被服务端主动回收时报错:
httpWReq.Timeout = 10000; // 10秒超时
httpWReq.KeepAlive = false;
  • 新增WebException捕获逻辑,获取服务端返回的具体错误信息:
try
{
    HttpWebResponse response = (HttpWebResponse)httpWReq.GetResponse();
    // 原有响应处理逻辑
}
catch (WebException ex)
{
    string errorMsg = string.Empty;
    if (ex.Response != null)
    {
        using (StreamReader sr = new StreamReader(ex.Response.GetResponseStream()))
        {
            errorMsg = sr.ReadToEnd();
        }
    }
    // 输出errorMsg即可查看服务端返回的具体错误原因
}

3. 前置接口可用性校验

先使用Postman、Apifox等接口调试工具,填入相同的请求参数调用https://control.msg91.com/api/sendhttp.php接口:

  • 如果调试工具也调用失败:检查参数正确性、本地网络是否能访问目标域名、是否有防火墙/代理拦截请求
  • 如果调试工具调用成功:回到代码侧对比参数编码、请求头配置是否和调试工具一致

4. 资源释放优化

原有代码中的响应对象建议用using块自动释放,避免连接资源泄漏导致后续请求报错:

using (HttpWebResponse response = (HttpWebResponse)httpWReq.GetResponse())
{
    using (StreamReader reader = new StreamReader(response.GetResponseStream()))
    {
        string responseString = reader.ReadToEnd();
        return responseString;
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 02:09:04