有谁会编写手机短信息发送软件(附原理,原码),谢谢!!大分奉送(200)(200分)

K

knmfkr

Unregistered / Unconfirmed
GUEST, unregistred user!
有谁会编写手机短信息发送软件(附原理,原码),谢谢!!大分奉送(200)
有谁会编写手机短信息发送软件(附原理,原码),谢谢!!大分奉送(200)
有谁会编写手机短信息发送软件(附原理,原码),谢谢!!大分奉送(200)
 
首先通过下面的地址下载并安装微软SOAP工具包2.0:
http://msdn.microsoft.com/downloads/default.asp?URL=/code/sample.asp?url=/msdn-files/027/001/580/msdncompositedoc.xml
然后就可以使用下面的简短代码发送SMS了。

uses
ComObj;

procedure TForm1.Button1Click(Sender: TObject);
var
SoapClient: OleVariant;
v: OleVariant;
begin

SoapClient := CreateOleObject('MSSOAP.SoapClient');
SoapClient.mssoapinit('http://sal006.salnetwork.com:83/lucin/smsmessaging/process.xml');
SoapClient.SendTextMessage('Number', 'MessageBody', 'Sender');
end;


其中Number为国家代码+电话号码(不需要以零打头),
如 06 12345678 在荷兰:31612345678
(有些可惜,上面的网址不能发中国的手机
 
不能发中国的手机,要它就没有什么价值了
 
去问oicq老总![:D]
 
我前一段时间也在研究这个问题:
有几种方法:
1:直接与电信(移动)买API,最好的方法,但每月可能要XXXXX元月租;
2:自己用一个手机,加上联线,接到PC,服务器的串口上,然后,根据手机的型号(N记,摩记,西记。。。)再编通讯软件,加上手机费,我想费用也不会很低!
3:有些网站,好象是深圳热线,可以提供API与网关,好象是每月3000元吧,面对企业用户,这些API更是简单,只是send(number,txt);之类的就行了;
4:直接模拟http的联接,联接到任一个可以提供的手机短信服务的网站,模拟浏览器与其交换数据,也是可以,但有个问题就是,现在基本上没有免费提供短信发送的网站,所以你要在该网站登记,然后每条短信0.1元;比较多的个人用户是用这种方式;
我以前也用第四种做了个测试程序,能成功发送短信,是用tom.com的网站,如果有兴趣,留下Email!
 
i love the question
but ido
nt know the answer
 
要用到一个什么协议的,而且还要得到电信部门的接口
 
Aiirii兄,可否发个源码看看呢?
 
这里有不少类似的问题,你搜索一下吧!!!!!!!
 
好像用到smpp协议吧!电信的。www.139130.net上有些资料可以看看,曾经看见一个用java编的程序,但是不知道
在哪儿看见的了
 
Aiirii兄总结的很全啊!就这几种方式吧。
以前的一些程序都是用第四种方法,可惜现在。。。。
其他的我只见过第二种方法的。
 
转贴

用Delphi发送SMS(手机短消息服务)
11830 原作
下面的例子演示了如何通过SOAP来调用一个SMS的WEB服务。
首先通过下面的地址下载并安装微软SOAP工具包2.0:
http://msdn.microsoft.com/downloads/default.asp?URL=/code/sample.asp?url=/msdn-files/027/001/580/msdncompositedoc.xml
然后就可以使用下面的简短代码发送SMS了。
uses
ComObj;

procedure TForm1.Button1Click(Sender: TObject);
var
SoapClient: OleVariant;
v: OleVariant;
begin

SoapClient := CreateOleObject('MSSOAP.SoapClient');
SoapClient.mssoapinit('http://sal006.salnetwork.com:83/lucin/smsmessaging/process.xml');
SoapClient.SendTextMessage('Number', 'MessageBody', 'Sender');
end;

其中Number为国家代码+电话号码(不需要以零打头),
如 06 12345678 在荷兰:31612345678
用Delphi实现BP机、手机短讯
作者:yousoft
出处: http://yousoft.home.chinaren.com
很多人一定用过OICQ,想必也用过了它的BP机短讯、手机短讯,编程的朋友一定想实现这种功能,
如果你的程序能发到手机、发到BP机一定很酷。
现在我就介绍一种可行的方法。
一、原理
它不同于OICQ的双方都在网上才能进行交流的寻呼功能,它可以将文字信息发送到真正的寻呼机上。只要你能够上网,就可以自己动手,随时随地将信息发送出去,即使你在国外,也可以利用它来向国内的友人发送信息了,而且不用交纳国际长途费用,是不是方便又省事呢!
二、分析
现在网上各寻呼台都有网上服务,网页寻呼(Web Paging)就是常用的一种。它是通过在互联网上访问寻呼台的主页,然后由寻呼台的信息寻呼系统打传呼。所以我们只要利用HTTP协议就可以实现网络寻呼了。以下就简单介绍一下HTTP协议:
HTTP中完成一个会话通常要完成:1)客户端程序与服务器建立连接2)发送请求3)服务器响应客户端4)关闭连接
HTTP常用到的请求有:1)GET(请求一万维网页) 2)HEAD(读取一万维网页的头部) 3)PUT(请求一存储万维网页) 4)POST(附加一个命名的资源) 5)DELETE(删除万维网页) 6)LINK(连接两个已有的资源) 7)UNLINK(断开两个已有资源的连接)
HTTP中常用到的应答状态代码有:(*号代表0-9间的一个数) 1. 1** (信息) 2. 2**(成功) 3.4**(客户端错误) 4.5**(服务器错误)
其实我们要实现的程序,只用POST、GET请求,收到正常应答就可以了。POST可以用于把用户输入的数据以数据流的方式传给CGI程序,CGI通过Contect-Length环境变量来取相应长度的数据流信息。
POST请求格式如下:
POST http://www2.scuta.edu.cn/stu/chatroom/check.asp HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
Referer: http://www2.scuta.edu.cn/stu/
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible;
MSIE 5.5;
Windows 98)
Host: www..scuta.edu.cn
Content-Length: 87
Pragma: no-cache
Cookie: ASPSESSIONIDQGGGQHHE=ABGNNOJCIGOFCDLBIOLHKAFK
服务器正常应答的头部结构为:
200 OK HTTP/1.0 说明提交数据成功
三、程序的实现
Delphi中NMHTTP已经可以很容易的实现上面的所说的数据提交,而且它还支持Proxy、这样对于通过代理服务器上网一样可以适用,并且它不是OICQ中发送讯信所用到SOCKET5代理。
新建一个窗体,加入组件一个ComboBox,命名为callto,用于存放寻呼对象,如国信寻呼就有95908、94908、94909、98062、98063、98019、98035、98052、98038、99055、98060、98061、98051、98003、99062、99016、99017、99018、99019、99046、99076;加入组件Edit,命名为tonumber,表示寻呼号码;加入组件RadioGroup,命名为RadioGroup1,Caption设为呼机类型,items中加入两项,分别为中文机、数字机;加入组件Edit,命名为firstName,用于表示发寻呼人的姓;加入组件RadioGroup,命名为RadioGroup2,Caption设为寻呼人性别,items中加入两项,分别为先生、小姐;加入组件Memo,命名为callmsg,用于输入发送的信息(注:对于数字机只能是数字信息);加入组件NMHTTP,命名为NMHTTP1;加入Checkbox,命名为ifuseproxy,用于确定是否使用代理服务器;加入两个Edit组件,分别用于软件代理服务器地址、代理服务器端口;最后加入命令按钮,Caption设为“发送”。
现在以国信寻呼为例,它用GET请求就可以实现了,“发送”按钮的程序代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var callstr:string;
begin
callstr:='http://tips.gxspace.com/cgi-bin/tips/webpaging?stn_id='+callto.Text+'&page_no='+tonumber.Text;
case RadioGroup1.ItemIndex of
0:callstr:=callstr+'&pager_type=C';
1:callstr:=callstr+'&pager_type=N';
end;

callstr:=callstr+'&firstname='+firstname.text;
case RadioGroup2.ItemIndex of
0:callstr:=callstr+'&title=0';
1:callstr:=callstr+'&title=1';
end;

callstr:=callstr+'&msg='+callmsg.Text+'&answer=null&B1=发送寻呼';
NMHTTP1.InputFileMode := FALSE;
NMHTTP1.OutputFileMode := FALSE;
NMHTTP1.ReportLevel := Status_Basic;
If ifuseproxy.Checked then

begin

NMHTTP1.Proxy := Edit1.Text;
NMHTTP1.ProxyPort := StrToInt(Edit2.Text);
end;

NMHTTP1.Get(callstr);
end;

有些寻呼(如润迅寻呼就不能用上面的GET请求实现,它要用POST请求),使用与上面相差不大,如下面是NMHTTP的POST用法:
NMHTTP1.InputFileMode:=False;
NMHTTP1.OutputFileMode:=True;
NMHTTP1.ReportLevel:=Status_Basic;
If ifuseproxy.Checked then

begin

NMHTTP1.Proxy := Edit1.Text;
NMHTTP1.ProxyPort := StrToInt(Edit2.Text);
end;

With NMHTTP1.HeaderInfodo

begin

Cookie := Edit5.Text;
LocalMailAddress := Edit6.Text;
LocalProgram := Edit7.Text;
Referer := Edit8.Text;
UserID := Edit9.Text;
Password := Edit10.Text;
end;

// 把要提交的数据先放在test.txt文件中:格式为stnid=A&pageno=123456...
NMHTTP1.Post('http://www.wocall.com/script/zbwebcall.asp','test.txt');
//NMHTTP的具体用法在Delphi安装目前/Borland/Delphi5/Demos/FastNet/Http下有个NMHTTP使用的例子。
以上都是用NMHTTP实现的,其实用Delphi中的WebBrowser组件同样可以完成数据的提交,使用是这样的 Webbrowser1.OleObject.Document.FrontPage_Form1.submit();
说明:WebBrowser1是WebBrowser组件的名,Frontpage_Form1是用WebBrowser打开的网页中的表单名
网页中的表单是这机样的:
<FORM name=FrontPage_Form1 action=http://message.com.cn/cgi-bin/ips/webpaging method=post>
......
</Form>
这样的实现方法就是用程序生成一个已经按用户输入信息生成一个网页,然后通过WebBrowser1.Navigate(生成的网页),最后提交到服务器Webbrowser1.OleObject.Document.FrontPage_Form1.submit();这样就完成了一次寻呼

----
邮件列表【heihoo】共有1331个订户
**** Bentium Mailing List Server ==邮件列表专家 ****
=============================================================
希网网络 http://www.cn99.com
 
请问如果我不采用Nokia Data Suite,还能用其它的方式或驱动程序等通过串口AT命令发
短信〉?
有谁能说一下他们的区别?
我发现下载的发短信工具,他们都不需要什么驱动程序或Data suite就能够直接通过串口
红外线发短信,他们的原理是什么?采用什么方法〉??
 
也正在研究
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
顶部