asp.net 发送数据到短信接口的问题。急!
我公司在万网买了一个企业短信的API版的短信接口。他们提供的文档上有asp,php,jsp的例子。就是没有asp.net的。
asp版本的代码为:
<%
function send_sms(user_id,password,mobile_phone,msg,sendtime,subcode)
        dim sendStr,http
        Err.Clear
        On Error Resume Next
        sendStr="user_id=" & user_id & "&password=" & password & "&mobile_phone=" & mobile_phone & "&msg=" & server.URLEncode(msg) & "&sendtime=" & sendtime & "&subcode=" & subcode
        set http=server.CreateObject("WinHttp.WinHttpRequest.5.1")
        http.SetTimeouts 30000,50000,30000,30000
        http.Open "POST", "http://bms.hichina.com/sms_gateway/sms_api", False
        http.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"      
        http.Send sendStr       
        If Err.Number = 0 Then  
               send_sms=trim(http.responsetext)
        else
               send_sms=-1
               Response.Write Err.Number  
        end if
        http.Abort()
end function
dim ret
ret = send_sms ("1111","111111","139xxxxxxx","测试短信发送内容","","1111")//参数分别为 用户名,密码,手机号,内容,发送时间,默认为即时,企业代码和用户名相同。
Response.Write ret
%>
=========
我对asp不是很熟悉,这个代码可以用,但我想写成.net的。是不是要用webrequest?
我写的代码如下:(其中一些参数都随便写的。)
  private static void HttpPost()
         {
             string postData = "user_id=1111&passwrod=111111&mobile_phone=139xxxx&msg=1111&sendtime=''&subocde=1111";//在发送的内容里包括中文和空格
             Encoding encoding = Encoding.GetEncoding("GB2312");
             string strUrl = "http://bms.hichina.com/sms_gateway/sms_api";
             byte[] data = encoding.GetBytes(postData);
             // 准备请求...
             HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(strUrl);
             myRequest.Method = "POST";
             myRequest.ContentType = "application/x-www-form-urlencoded";
             myRequest.ContentLength = data.Length;
             Stream newStream = myRequest.GetRequestStream();
             // 发送数据
             newStream.Write(data, 0, data.Length);
             newStream.Close();
         }
=====
但是我运行代码没有反应,请帮忙看看我的错在哪里了,着急啊。谢谢
------解决方案--------------------
private bool Send(string url, string sendData)
   {
       string ecode = sendData;
       try
       {
           WebRequest req = WebRequest.Create(url);
           req.Method = "POST";
           req.ContentType = "application/x-www-form-urlencoded";
           string strQuery = ecode;
           string dataSend = strQuery;
           req.ContentLength = dataSend.Length;
           byte[] buff = Encoding.Default.GetBytes(dataSend);
           Stream reqStream = req.GetRequestStream();
           reqStream.Write(buff, 0, buff.Length);
           reqStream.Close();
           return true;
       }
       catch (Exception ex)
       {
           Response.Write(ex.Message);
           //Log.LogSave("[" + DateTime.Now.ToString() + "]" + ex.Message + "\r\n");
           return false;
       }
   }
------解决方案--------------------那你需要联系万网,看是什么情况
要他们技术查下是否调用了这个接口。
------解决方案--------------------