【问题标题】:sending multiple sms in asp.net?在asp.net中发送多条短信?
【发布时间】:2011-03-19 00:41:20
【问题描述】:

在我的网络应用程序中,我使用 api 发送短信,它适用于单个电话号码,但我的要求是我想向两个电话号码(手机号码)发送短信,你能帮我吗?当用户来的时候到我的网站并自动注册管理员会收到短信提醒,现在我想同时发送短信。

protected void btnSend_Click(object sender, EventArgs e)
{
    try
    {
        mobile =Server.HtmlEncode ( txtMobile.Text);
        message = Server.HtmlEncode(txtMessage.Text);
        username = Server.HtmlEncode(txtName.Text);
        password = Server.HtmlEncode(txtPassword.Text);
        domian = Server.HtmlEncode(txtDomain.Text);
        string result = apicall("http://"+domian+"/pushsms.php?username="+username+"&password="+password+"&sender=&to="+mobile+"&message="+message);
        if (!result.StartsWith("Wrong Username or Password"))
        {
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "success", "alert('Message Sent')", true);
        }
        else
        {
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "success", "alert('Message Sending Failed')", true);
        }
sentMail()

    }
    catch
    {
    }
}

公共无效已发送邮件() { 字符串手机=“9701098107”; 字符串消息=“测试”; 字符串用户名=“xxx”; 字符串密码 = "yyyy"; 字符串 domian = "smsftt.com"; string result1 = apicall("http://" + domian + "/pushsms.php?username=" + username + "&password=" + 密码 + "&sender=&to=" + mobile + "&message=" + message); }

public string apicall(string url)
{
    HttpWebRequest httpreq = (HttpWebRequest)WebRequest.Create(url);

    try
    {

        HttpWebResponse httpres = (HttpWebResponse)httpreq.GetResponse();

        StreamReader sr = new StreamReader(httpres.GetResponseStream());

        string results = sr.ReadToEnd();

        sr.Close();
        return results;



    }
    catch
    {
        return "0";
    }
}

【问题讨论】:

  • 如果号码存储在一个列表中 那么你能不能只为列表中的每个电话号码调用单个发送例程?
  • Mr.WestDiscGolf 实际上,当用户来到我的网站并自动注册时,管理员会收到短信提醒,现在我想同时向用户发送短信。我正在放置代码,请检查。我正在编辑我的问题,请检查一次

标签: asp.net


【解决方案1】:

您可以使用此代码对我来说工作正常,将以下代码保留在函数调用该函数中,并在 CSV 中分隔多个手机号码

 string stringpost = "Here username password and type of sms as querystring";
            HttpWebRequest objWebRequest = null;
            HttpWebResponse objWebResponse = null;
            StreamWriter objStreamWriter = null;
            StreamReader objStreamReader = null;
            try
            {
                string stringResult = null;

                objWebRequest = (HttpWebRequest)WebRequest.Create("http://'your sms api'");

                objWebRequest.Method = "POST";

                objWebRequest.ContentType = "application/x-www-form-urlencoded";

                objStreamWriter = new StreamWriter(objWebRequest.GetRequestStream());
                objStreamWriter.Write(stringpost);
                objStreamWriter.Flush();
                objStreamWriter.Close();

                objWebResponse = (HttpWebResponse)objWebRequest.GetResponse();

                objWebResponse = (HttpWebResponse)objWebRequest.GetResponse();

                objStreamReader = new StreamReader(objWebResponse.GetResponseStream());
                stringResult = objStreamReader.ReadToEnd();
                objStreamReader.Close();
                return (stringResult);
            }
            catch (Exception ex)
            {
                return (ex.ToString());
            }
            finally
            {
                if ((objStreamWriter != null))
                {
                    objStreamWriter.Close();
                }
                if ((objStreamReader != null))
                {
                    objStreamReader.Close();
                }
                objWebRequest = null;
                objWebResponse = null;
            }

【讨论】:

    【解决方案2】:

    这不就像用不同的细节再次制作那个 apicall 一样简单吗?更改您传递的手机号码并完成工作......

    【讨论】:

    • 我写了一个方法,在发送第一条短信时调用该 API 代码,然后调用第二条短信,但它没有发送
    • @Surya sasidhar:我不知道你用谁来发送短信,但它们是否有可能以某种方式限制你,所以你不能发送超过一个数量有限的短信时间(例如每秒一个)。与上面显示的代码相比,这似乎更可能是您的问题所在。或者,您的 apicall 方法中存在错误,您需要向我们展示代码。如果没有全貌,就很难找出问题所在。
    • @Surya sasidhar:您的代码看起来不错。我建议调试您更仔细地分析您从呼叫中得到的响应是什么。您只检查“错误的用户名或密码”。尝试在失败时将结果放入警报中,以便您可以准确地看到服务器在说什么。我猜这类似于“电话太多”,旨在阻止短信发送的快速自动化。如果是这种情况,您将必须找出时间限制,并制定某种排队系统以确保您的呼叫不会太快。另一个测试是两个同时注册。
    • 是的,工作正常,克里斯先生,我收到两条消息,感谢您的回复和所有事情
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-13
    • 2013-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多