如何用ASP发送短信,并检测返回状态

vanlover 2006-12-31 06:28:39
通过get或post的方式给给定地址的服务商讲短信发送出去.例如
http://host.domain.com/script.asp?REQUESTTYPE=0&OADC=81234&OADCTYPE=1&
MESSAGEID=123456&TIMETOLIVE=1440&NUMBERS=MIG01L1.071234567,MIG01K.+44
71234568,004471234569&PRIORITY=N&BODY=Hello+World&TARIFF=150&DCS=240
那么我在asp中如何调用并检测返回状态? 要用XMLHttp方式么?ASP有对Http协议头调用和修改的方法么?
...全文
286 点赞 收藏 10
写回复
10 条回复
pzhuyy 2006年12月31日
sss=GetBody(ret_str)
Response.Write sss


Function GetBody(Url)
Dim objXML
On Error Resume Next
Set objXML = CreateObject("Microsoft.XMLHTTP")
With objXML
.Open "Get", Url, False, "", ""
.Send
GetBody = .ResponseBody
End With
GetBody=BytesToBstr(GetBody,"GB2312")
Set objXML = Nothing
End Function

'使用Adodb.Stream处理二进制数据
Function BytesToBstr(strBody,CodeBase)
dim objStream
set objStream = Server.CreateObject("Adodb.Stream")
objStream.Type = 1
objStream.Mode =3
objStream.Open
objStream.Write strBody
objStream.Position = 0
objStream.Type = 2
objStream.Charset = CodeBase
BytesToBstr = objStream.ReadText
objStream.Close
set objStream = nothing
End Function
回复 点赞
pzhuyy 2006年12月31日
xmlhttp可以取得返回信息.
回复 点赞
ahhisoft 2006年12月31日
收藏
回复 点赞
cqq 2006年12月31日
用xmlhttp来调用sp的接口, 并得到返回

而这个返回通常也就是sp给你的一个标记,至于最终用户是否收到,一般很难作


一般sp都会给你一个后台界面, 可以查询每月的信息发送状态, 那里会有运营商给的发送状态。
回复 点赞
teacher1998 2006年12月31日
up
回复 点赞
atmo 2006年12月31日
收藏了
回复 点赞
chenguang79 2006年12月31日
yizia(扛阿猫去按摩) 说的很细了。
回复 点赞
椅子 2006年12月31日
短信发送客户端:A
sp短信网关:B
运营商短信网关:C
手机:D

如果你想知道手机阅读报告,通信流程是:
A-->B-->C-->D
D-->C-->B-->A

如果你想知道短信发送成功:通信流程可以是:
ABCBA
也可以是ABA

由于ABCA这个流程,需要等待运营商返回,通信消耗比较大,sp往往都不给你消息,所以这条路基本上走到黑.

ABA这个流程,事实上并不能确认短信发送成功了,只是意味着和sp短信网关通信成功了.

明确这些后,再来说B/S,由于不能建立一个保持连接的tcp通道,你可能需要很长时间才能得到短信网关给你的答复,而且,线程处理中,也不会针对你每一个客户端浏览器来建立一个线程,也就是说你得不到和sp短信网关通信成功的消息.

建议:
第一,首先确保和服务端提供的asp页,访问成功,可以通过http 状态得知
第二,可以通过asp页返回的信息,得到有用的消息.

除此,你似乎没有别的方法,除非你就是sp
回复 点赞
发动态
发帖子
ASP
创建于2007-09-28

1.9w+

社区成员

35.7w+

社区内容

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区公告
暂无公告