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

如何通过第三方短信服务商HTTPS URL发送短信?代码失效求助

解决C# HTTP GET发送SMS的问题

一、代码无法运行的排查方向

  • 检查Ozeki网关状态:确认本地或远程的Ozeki SMS Gateway服务已正常启动,且完成账号、短信通道的基础配置(如运营商对接、API密钥验证)
  • 网络与权限验证:确保C#程序能访问网关地址,防火墙/杀毒软件未拦截出站请求;核对代码中的用户名、密码、网关端口与Ozeki后台配置完全一致
  • 依赖与语法检查:确认项目已引用System.Net.Http或System.Web相关类库;检查URL拼接、参数转义是否正确(比如特殊字符未转义会导致请求无效)
  • 捕获错误信息:主动捕获HttpRequestException或响应状态码(如401未授权、404资源不存在),根据具体错误定位问题

二、添加senderID参数的实现方法

第三方接口要求的senderID参数,可直接在HTTP GET请求的URL中追加,示例代码如下:

using System;
using System.Net;

class Program
{
    static void Main(string[] args)
    {
        var gatewayBaseUrl = "http://your-gateway-ip:port/api?";
        var username = "your_account";
        var password = "your_password";
        var recipient = "+1234567890";
        var messageContent = "Test SMS with custom sender ID";
        var customSenderId = "YOUR_SENDER_ID"; // 第三方要求的senderID

        // 拼接带senderID的请求URL,所有参数需做URL转义
        var requestUrl = $"{gatewayBaseUrl}username={WebUtility.UrlEncode(username)}&password={WebUtility.UrlEncode(password)}&to={WebUtility.UrlEncode(recipient)}&message={WebUtility.UrlEncode(messageContent)}&sender={WebUtility.UrlEncode(customSenderId)}";

        try
        {
            using (var client = new WebClient())
            {
                var response = client.DownloadString(requestUrl);
                Console.WriteLine("SMS发送成功:" + response);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("发送失败:" + ex.Message);
        }
    }
}
  • 注意:不同网关对senderID参数的命名可能不同(如sender、from、senderid),请以第三方接口文档为准调整参数名
  • 必须用WebUtility.UrlEncode对所有参数做转义,避免特殊字符破坏请求结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 02:25:42