新浪web编辑器service发短信是不是不能用了?

1106人阅读
通讯协议(1)
网络编程(3)
通过编程方式实现短信息的发送对很多人来说是一件比较烦杂的事情,目前一般的解决方法是通过计算机和手机的连线,通过可对手机编程的语言编写相关的手机短信息程序来实现,而这种方法对于一般人来说是很难达到的,因为此种方法不仅要有很多必备的硬件设备,也还需懂得手机编程的相关知识。本文就来探讨一下另外一种通过Visual C#发送短信息的简单实现方法,这种方法在实现过程中比我们想象的要简单许多,只需拥有Visual C#一般编程基础,并确定您的计算机接入互联网即可。下面就来详细介绍一下Visual C#发送短信息的具体实现过程。
  一. Visual C#发送短信息的原理:
  我想当很多读者一看到本文的题目一定会想本文内容一定非常深奥,并且作者一定知道了电信的发送短信的网关地址,其实并非如此。本文其实是利用一个现成的资源,一个可发送短信的Web Serviec。这个Web Service就是新浪网就提供的一个,可供用户直接调用的发送短消息的Web Service。这个Service的地址是.cn/ws/smswebservice0101.wsdl。在这个Service中提供了一个发送短消息的方法&sendXml&。此方法的语法格式如下:
string sendXml (carrier , userid , password , mobilenumber , content , msgtype )
  sendXml方法中的六个参数均为string类型,并且sendXml方法的返回值也是string类型。
  以下是sendXml方法中的六个参数的具体说明:
  ·carrier:运营商名称,具体使用时此参数并没有什么具体要求,即这里面可以随便输,输入的字符串也不会在对方手机中有任何显示。
  ·userid:在新浪网上注册的手机号,注册手机所用的地址是:.cn,具体注册方法下面会具体介绍。
  ·password:您在新浪网成功注册手机后,新浪网所反馈来的密码。
  ·mobilenumber:要发送短信到对方的手机号码。
  ·content:所要发送短消息的内容。
  ·msgtype:发送短消息的类型,由于本文发送的不是彩信,所以输入&Text&。
  调用此Web Service只需在Visual C#开发环境中直接添加Web引用,把该地址输入即可,就可以使用此Web Service中的sendXml方法发送短消息了。当然发送短消息的机器必须接入互联网。
  二.在新浪网上注册手机:
  按照如下步骤就可在新浪网上注册手机:
  1. 打开浏览器,并在地址栏中输入新浪无线的地址:.。在浏览器德左上角,可见如图01界面:
图01:新浪网注册手机界面之一
  输入手机号后,单击图01中的&登陆&,如果你的手机没有在新浪,则提示如图02所示信息。
图02:新浪网注册手机界面之二
  2. 按照图02中的选项输入相应的信息后,单击&登陆移动梦网&按钮,如果注册成功,移动梦网则会向你注册的手机上发送一个8位长度的口令就可以得到图03所示界面。
图03:新浪网注册手机界面之三
  这个口令要保留,下面发送短信就要使用这个口令。
  三.本文程序设计、调试和运行的环境:
  (1).微软公司视窗2000服务器版。
  (2).Visual Studio .Net 2003企业构建版,.Net FrameWork SDK版本号4322。
  四.Visual C#实现短信息发送的具体实现步骤:
  Visual C#发送短信息的关键就是通过Web引用新浪网提供的发送短信息的Web Service,并在引用完成后。调用此Service的sendXml方法即可。以下就是Visual C#引用Web Service发送短信息的具体实现步骤:
  1. 启动Visual Studio .Net。
  2. 选择菜单【文件】|【新建】|【项目】后,弹出【新建项目】对话框。
  3. 将【项目类型】设置为【Visual Basic项目】。
  4. 将【模板】设置为【Windows应用程序】。
  5. 在【名称】文本框中输入【短信】。
  6. 在【位置】的文本框中输入【E:\VS.NET项目】,然后单击【确定】按钮,这样在&E:\VS.NET项目&目录中就产生了名称为&短信&的文件夹,并在里面创建了名称为&短信&的项目文件。
  7. 把Visual Studio .Net的当前窗口切换到【Form1.cs(设计)】窗口,并从【工具箱】中的【Windows窗体组件】选项卡中往Form1窗体中拖入下列组件,并执行相应的操作:
  四个Label组件。
  四个TextBox组件。
  一个Button组件,其作用是发送短信息。并在这个Button组件拖入Form1的设计窗体后,双击它,则系统会在Form1.cs文件分别产生这个组件的Click事件对应的处理代码。
  8. 把Visual Studio .Net的当前窗口切换到Form1.vb的代码编辑窗口,并用下列代码替换Form1.cs中的InitializeComponent过程对应的代码,下列代码作用是初始化窗体中加入的组件:
private void InitializeComponent ( )
this.textBox1 = new System.Windows.Forms.TextBox ( ) ;
this.textBox2 = new System.Windows.Forms.TextBox ( ) ;
this.textBox3 = new System.Windows.Forms.TextBox ( ) ;
this.button1 = new System.Windows.Forms.Button ( ) ;
this.label1 = new System.Windows.Forms.Label ( ) ;
this.label2 = new System.Windows.Forms.Label ( ) ;
this.label3 = new System.Windows.Forms.Label ( ) ;
this.label4 = new System.Windows.Forms.Label ( ) ;
this.textBox4 = new System.Windows.Forms.TextBox ( ) ;
this.SuspendLayout ( ) ;
this.textBox1.Location = new System.Drawing.Point ( 144 , 16 ) ;
this.textBox1.Name = &textBox1& ;
this.textBox1.Size = new System.Drawing.Size ( 184 , 21 ) ;
this.textBox1.TabIndex = 0 ;
this.textBox1.Text = && ;
this.textBox2.Location = new System.Drawing.Point ( 144 , 69 ) ;
this.textBox2.Name = &textBox2& ;
this.textBox2.PasswordChar = ''''''''*'''''''' ;
this.textBox2.Size = new System.Drawing.Size ( 184 , 21 ) ;
this.textBox2.TabIndex = 1 ;
this.textBox2.Text = && ;
this.textBox3.Location = new System.Drawing.Point ( 144 , 122 ) ;
this.textBox3.Name = &textBox3& ;
this.textBox3.Size = new System.Drawing.Size ( 184 , 21 ) ;
this.textBox3.TabIndex = 2 ;
this.textBox3.Text = && ;
this.button1.Location = new System.Drawing.Point ( 152 , 256 ) ;
this.button1.Name = &button1& ;
this.button1.Size = new System.Drawing.Size ( 80 , 32 ) ;
this.button1.TabIndex = 4 ;
this.button1.Text = &发送& ;
this.button1.Click += new System.EventHandler ( this.button1_Click ) ;
this.label1.Location = new System.Drawing.Point ( 56 , 24 ) ;
this.label1.Name = &label1& ;
this.label1.Size = new System.Drawing.Size ( 88 , 16 ) ;
this.label1.TabIndex = 5 ;
this.label1.Text = &注册手机号:& ;
this.label2.Location = new System.Drawing.Point ( 88 , 77 ) ;
this.label2.Name = &label2& ;
this.label2.Size = new System.Drawing.Size ( 72 , 16 ) ;
this.label2.TabIndex = 6 ;
this.label2.Text = &口令:& ;
this.label3.Location = new System.Drawing.Point ( 56 , 128 ) ;
this.label3.Name = &label3& ;
this.label3.Size = new System.Drawing.Size ( 96 , 16 ) ;
this.label3.TabIndex = 7 ;
this.label3.Text = &目标手机号:& ;
this.label4.Location = new System.Drawing.Point ( 96 , 176 ) ;
this.label4.Name = &label4& ;
this.label4.Size = new System.Drawing.Size ( 72 , 16 ) ;
this.label4.TabIndex = 8 ;
this.label4.Text = &内容:& ;
this.textBox4.Location = new System.Drawing.Point ( 144 , 175 ) ;
this.textBox4.Multiline =
this.textBox4.Name = &textBox4& ;
this.textBox4.Size = new System.Drawing.Size ( 184 , 48 ) ;
this.textBox4.TabIndex = 3 ;
this.textBox4.Text = && ;
this.AutoScaleBaseSize = new System.Drawing.Size ( 6 , 14 ) ;
this.ClientSize = new System.Drawing.Size ( 410 , 303 ) ;
this.Controls.Add ( this.button1 ) ;
this.Controls.Add ( this.textBox4 ) ;
this.Controls.Add ( this.textBox3 ) ;
this.Controls.Add ( this.textBox2 ) ;
this.Controls.Add ( this.textBox1 ) ;
this.Controls.Add ( this.label4 ) ;
this.Controls.Add ( this.label3 ) ;
this.Controls.Add ( this.label2 ) ;
this.Controls.Add ( this.label1 ) ;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedS
this.MaximizeBox =
this.Name = &Form1& ;
this.Text = &Visual C#实现短信发送& ;
this.ResumeLayout ( false ) ;
  至此【短信】项目的界面设计和功能实现的准备工作就完成了,具体如图04所示:
图04:【短信】项目的设计界面
  9. 选中【短信】的【解决方法资源管理器】,右击【引用】,弹出【添加Web引用】对话框。在此对话框中的【URL】文本框中输入&.cn/ws/smswebservice0101.wsdl&后,单击【转到】按钮,则会得到图05所示界面:
图05:在【短信】项目中添加Web引用的界面
  此时单击图04中的【添加引用】按钮,则成功实现在【短信】项目中添加可发送短信息的新浪网提供的Web Service。
  10. 把Visual Stuido .Net的当前窗口切换到Form1.cs的代码编辑窗口,并用下列代码替换From1.cs中的button1的Click事件对应的代码,下列代码的作用是调用引入的Web Service中提供的sendXml方法向指定手机发送短信息:
private void button1_Click ( object sender , System.EventArgs e )
 短信.cn.com.sina.smsinter.SMSWS ws = new 短信.cn.com.sina.smsinter.SMSWS ( ) ;
 string result = ws.sendXml ( &Sina& ,textBox1.Text ,textBox2.Text ,textBox3.Text ,textBox4.Text ,&new& ) ;
 MessageBox.Show ( result ) ;
  11. 至此,在上述步骤都正确执行后,【短信】项目的全部工作就完成了。单击快捷键F5运行程序,在输入【注册手机号】、【口令】、【目标手机号】和【内容】后,单击【发送】按钮后,程序就会向指定的手机号发送短信息了。
  五.总结:
  本文介绍的这种Visual C#发送短信息方法,其解决关键是引用Web Service,调用此Web Service中的方法。通观全文,此种方法是不是很简单。最后还要提醒诸位,利用这种发送短信息并不是免费的午餐,其资费标准可参看新浪无线网站上的相关说明,每发送一条收费一角钱,从在新浪网注册的手机上收费。在使用本文介绍的方法发送短信息时,在发送完成后,一般会有一个延迟。这是因为后台采用了了消息队列机制,不过这种延迟一般只会有几秒钟的时间。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:68125次
排名:千里之外
原创:16篇
评论:21条
(2)(1)(4)(1)(13)今天到博客堂,看见开心就好发的这个贴子,感觉很好。
新浪发送短信的Web Service资源的该问地址为:,这是一个WSDL文件格式,您可以直接在您的VS.NET环境中直接添加Web引用,把该地址输入即可。
该Web Service就只有一个方法,即string sendXml(carrier,userid,password,mobilenumber,content,msgtype)。各个参数全部为string类型,其含义基本如下(可能不正确)。
carrier:运营商名称,这里面可以随便输,不过似乎没有任何显示,不知道里面有没有其它奥秘。
userid:您在新浪无线上注册的手机ID,即。
password:您在新浪无线上注册手机时所使用的密码。
mobilenumber:对方的手机号码;
content:发送短消息的内容;
msgtype:发送短消息的类型,我估计支持彩信,不过我目前仅使用文本短信方式,似乎随便输什么都可以,我使用的是“Text”。
示例如下:
Sina.SMSWS ws = new Sina.SMSWS();&&&string result = ws.sendXml("Sina",textBox1.Text,textBox2.Text,textBox3.Text,textBox4.Text,"new");
资费标准请参看新浪无线网站上的相关说明,应该是一条一角钱,不过也或者是一条两角线。由于其后台可能使用了消息队列机制,在繁忙的时候,可能会有几秒钟延迟。
我的说明:通过这个WebService编写发送短信的程序,就和Hello World一样简单。有兴趣的朋友自己就可以短信程序了。虽然节约不了什么money,至少打字比在手机上快些嘛。何况是自己写的,总有些自豪不是?
在PDAFan论坛上已经有个实例了。
我又给他增加了一点功能,至少使用起来要友好些吧!
下面是我的说明:
我用了一下这个程序.觉得遗憾的是发送后的提示信息太不友好了.我分析了sendXml()方法的返回结果.是一个类似xml格式的字符串,其中提示信息放在标签&message&中,例如:&Message&无效手机号码&/Message&. 我不知道字符串类是否有与xml转换的方法.但我利用截取子串方法实现如下的方法: //截取处于开始字符串和结束字符串中间的字符串,尤其适合得到处于xml标签之间的字符串内容; private string GetSubString(string mainString,string startString,string endString) { int start = mainString.IndexOf(startString); int end = mainString.IndexOf(endString); if (start&0||end&0) {
} else { string result = mainString.Substring(start+startString.Length,end-start-startString.Length);
} } 其中mainString为子串,startString为起始标签,endString为结束标签.具体调用如下: string start = "&Message&"; string end = "&/Message&"; string mainString = WebServiceName.SendXml(parameter...); string result = GetSubString(mainString,start,end); 然后用MessageBox显示出来,发短信的用户就知道是否发送成功了. MessageBox.Show(result+"!");//加一个感叹号,漂亮一点:)
阅读(...) 评论()客户端编程的方式调用Webservice
l使用javax.xml.ws.Service类用于访问web服务。
l关键类Service
&方法create
用户创建Service对像,提供wsdlurl和服务名。
&getPort-用于通过指定namespace,portName和接口的范型。
&在客户端需要一个与服务器接口完全相同的类。(仍然使用工具生成。但只需要一个接口。并需要简单修改。如果返回的是复杂数据类型如POJO,还需要将POJO一并放到项目中)-不要试图通过-p来修改包名,会出错的。
l关键类QName
被称为完全限定名即:Qualified
Name的缩写。
的值包含名称空间
URI、本地部分和前缀。
public class App {
&public static void main(String[] args) throws
Exception {
&&URL wsdlUrl = new URL("");
&&Service s =
Service.create(wsdlUrl, new QName(""));
&&HelloService hs = s.getPort(new
QName(""),
HelloService.class);
&&String ret =
hs.sayHi2("");
&&System.out.println(ret);
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。新浪webservice发短信是不是不能用了?_百度知道
新浪webservice发短信是不是不能用了?
主要是那个函数里面的自己的手机号还有密码不知道怎么获得,网站上找了好久找不到,求大神指点啊~~
提问者采纳
那个东西不能用了
其他类似问题
为您推荐:
您可能关注的推广
webservice的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁编程入门网-用Delphi和Web Services开发短信应用程序
您的位置:&&
用Delphi和Web Services开发短信应用程序
文章来源:csdn 作者:柯林
摘& 要:本文通过使用Delphi和Web Services技术开发短信应用程序的实例详细的介绍了如何在Delphi中开发基于Web Services技术的应用程序。
   关键字:Delphi;Web Service;短信应用程序开发
   一提起基于Web Services技术的应用程序开发,一般人首先想到的开发工具是Vs.net,其实作为快速应用程序开发工具(RAD)的老大,Delphi从6.0就开始支持Web Services的开发和应用了,本文通过使用Delphi 7.0调用新浪发送短信的Web Service进行短信应用程序开发这一实例详细的介绍在Delphi中如何开发基于Web Services的应用系统。
   第一步,准备工作,了解新浪短信Web Service。新浪发送短信的Web Service地址是.cn/ws/smswebservice0101.wsdl,该Web Service就只有一个方法,即string sendXml(carrier,userid,password,mobilenumber,content,msgtype)。各个参数全部为string类型,其含义基本如下(可能不正确)。
   Carrier:运营商名称,好像可以随便输,建议输入“Sina”,如果输入其他的值,消息发送的特别慢;
   Userid:您在新浪无线上注册的手机ID,如果您没有在.cn上注册您的手机,你是无法使用本Web Service发送短信的;
   Password:您在新浪无线上注册手机时所使用的密码;
   Mobilenumber:对方的手机号码;
   Content:发送短消息的内容;
   Msgtype:发送短消息的类型,我估计支持彩信,不过我不知道怎么使用,似乎随便输什么都可以,我使用的是“Text”。
   资费标准请参看新浪无线网站上的相关说明,应该是一条一角钱,不过也或者是一条两角线,具体不太清楚。由于其后台可能使用了消息队列机制,在繁忙的时候,可能会有较长时间的延迟。
   第二步,先建立一个空白的应用程序。运行Delphi 7,打开[File]-&[New]-&[Application]菜单,Delphi自动生成一个默认的工程。将默认的窗体Form1改为sms,然后将改工程保存为smsdemo.prj。如下图所示:
  第三步,引入Web Service。,打开[File]-&[New]-&[Other]菜单,在弹出的窗口中选择WebServices Tab页面,然后选择其中的WSDL importer选项,单击OK按钮弹出WSDL importer Wizard窗口,如图2所示。在其上的Location of WSDL File or URL 中输入:.cn/ws/smswebservice0101.wsdl (注意,千万不能输错!),单击Next按钮后,再单击Finishi按钮,完成浪发送短信Web Service的引入。此时工程文件中会增加一个名字为smswebservice0101.pas的文件,这是Delphi自动生成的Web Service引入申明文件,不要手工修改他。
 第四步,调用Web Service的短信发送接口。在sms窗体中,依次增加四个TEdit控件,一个TButton控件,一个TMemo控件和五个TLabel控件,按图3进行排列和设置。
  在smsfrm单元的uses语句中包含smswebservice0101,以便改窗体中能够访问新浪发送短信的Web Service接口。
   在发送按钮OnClick事件中写入以下代码:
   procedure Tsms.Button1Click(Sender: TObject);
   begin
   Memo1.Text := GetSMSWebServiceSoapPort.sendXml(Edit1.Text,Edit2.Text, Edit3.Text, Edit4.Text, Edit5.Text,'Text');
   注意:Edit1、Edit2、Edit3、Edit4、Edit5分别对应界面上的运营商、用户名、密码、对方号码、消息内容;Memo1对应界面上的反馈。
   第五步,使用Web Service的短信发送接口进行短信发送。编译、运行smsdemo.prj,在用户名中输入您在新浪无线上注册的手机ID、密码中输入您在新浪无线上的密码,然后再输入对方的手机号码和消息内容,单击发送按钮,稍候片刻,在反馈信息框中将会得到该Web Service的反馈信息,如果一切正常,系统会提示您短信发送成功。
   从上面的例子我们可以看到,只要理解了Web Services的概念,在Delphi的帮助下,开发基于Web Services的应用程序将不是一件很困难的事情。Web Services最适合用于开发跨平台和跨网络进行通信(因为使用http协议为防火墙所允许)的程序,可以跨越异质架构,联系客户、供应商、企业伙伴以及企业内部之信息系统,是电子商务B2B、企业信息等集成的最佳解决方案。各个公司只要把商务逻辑“暴露”出来,成为Web Service,就可以让任何指定的合作伙伴调用这些商务逻辑,而不管他们的系统在什么平台上运行,使用什么开发工具。Web Services是目前很热门也是正在迅速发展着的一项技术,本文只是作者在学习中的一点小体会,肯定有理解不深刻甚或错误的地方,欢迎大家予以指正。
Copyright&
Powered by 编程入门网 All Rights Reserved. |

我要回帖

更多关于 新浪web编辑器 的文章

 

随机推荐