Приложение SMS не отправляет специальные символы asp.net mvc - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть приложение ASP.NET MVC, которое отправляет SMS из Интернета, проблема в том, что оно не отправляет некоторые специальные символы, такие как ~! @ # $ &, Когда я отправляю что-то вроде &&&&, оно не отправляет SMS , если я отправлю что-то вроде дана и дана, он отправит первый дан и удалит оставшиеся символ и слово.

Заяц - мой код:

public ActionResult SendSms(SendBatch member)
{
    StreamReader objReader;
    WebClient client = new WebClient();

    string mess = member.Message;
    string cell = member.Cell;
    string pass = "mypassword";
    string user = "username";

    string baseurl = "http://bulksms.2way.co.za/eapi/submission/send_sms/2/2.0?" + "username=" + user + "&" + "password=" + pass + "&" + "message=" + mess + "&" + "msisdn=" + cell;

    WebRequest wrGETURL;
    wrGETURL = WebRequest.Create(baseurl);

    try
    {
        Stream objStream;
        objStream = wrGETURL.GetResponse().GetResponseStream();
        objReader = new StreamReader(objStream);
        objReader.Close();
    }
    catch (Exception ex)
    {
        ex.ToString();
    }
}

Надеюсь, что кто-то может помочь.

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Большое спасибо за свет, мне удается найти решение, используя HttpUtility.UrlEncode:

public ActionResult SendSms(SendBatch member)
    {
        StreamReader objReader;
        WebClient client = new WebClient();

        string mess = member.Message;
        string cell = member.Cell;
        string pass = "mypassword";
        string user = "username";

        string message = HttpUtility.UrlEncode(mess, System.Text.Encoding.GetEncoding("ISO-8859-1"));
        string baseurl = "http://bulksms.2way.co.za/eapi/submission/send_sms/2/2.0?" + "username=" + user + "&" + "password=" + pass + "&" + "message=" + message + "&" + "msisdn=" + cell;

        WebRequest wrGETURL;
        wrGETURL = WebRequest.Create(baseurl);

        try
        {
            Stream objStream;
            objStream = wrGETURL.GetResponse().GetResponseStream();
            objReader = new StreamReader(objStream);
            objReader.Close();
        }
        catch (Exception ex)
        {
            ex.ToString();
        }
    }
0 голосов
/ 04 сентября 2018

Поскольку вы используете метод Get для вызова веб-службы SMS, запрещенные символы автоматически удаляются из вашего SMS. Вам необходимо использовать HttpUtility.UrlEncode для кодирования символов перед отправкой.

...