当前位置: 首页 > 图文教程 > 网络编程 > ASP > 使用xmlhttp为网站增加股市行情查询功能

ASP
分享一段代码show.asp?id=26变成show/?26的形式
多域名一网站时如果返回最原来的域名
[原创]完美解决ASP 不能更新。数据库或对象为只读。
5天学会asp
TSYS中生成静态页时溢出: ''CInt''
对象标记具有无效的 ''MSWC.MyInfo'' ProgID
[原创]随机增加网站点击的一个不错的方法
Microsoft JET Database Engine 错误 ''80004005'' 未指定的错误的完美解决方法
反SPAM新思路—换Z-BLOG的验证码!
七步倒┈→专用asp后门
asp下实现代码的“运行代码”“复制代码”“保存代码”功能源码
使用ASP实现网站的“目录树”管理的代码
ShowPage 显示“上一页 下一页”等信息的封装代码
[原创]站长感慨asp编程究竟何去何从
响应对象 错误 ''ASP 0185 : 80020003'' 缺少默认属性
[原创]asp下用实现模板加载的的几种方法总结
[原创]asp获取URL参数的几种方法分析总结
Access数据库中“所有记录中均未找到搜索关键字”的解决方法
ASP程序中输出Excel文件实例一则
ASP应用中如何限制同一表单被多次提交

ASP 中的 使用xmlhttp为网站增加股市行情查询功能


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 183 ::
收藏到网摘: n/a

  一般情况下,如果我们想了解股市行情,必须登录专业股票网站,输入公司代码才能看到具体股价。其实,利用XMLHTTP协议,我们每个人都可以在自己的个人网站中提供股市行情详细情况查询服务,本文介绍了如何使用ASP、VbScript结合xmlhttp编程来实现这个功能。  

一、原理
原理非常简单,在很多大型网站上都有实时更新的股市行情信息,我们通过自己的WEB服务器发送出XMLHTTP命令访问雅虎财经站点的股市行情数据库服务器,从数据库中查询我们所需要的内容,然后通过ASP组合成网页回送给客户端。
同时,我们使用XmlHttp协议实现客户端网页无刷新效果以及向服务端提出检索数据的要求。
XMLHTTP允许你打开一个到任意服务器上的HTTP连接,发送一些数据和取回一些数据。并且所有的这一切都是在很少的几段脚本中就能够实现。使用XMLHTTP对象通常是进行XML数据交换,但其他格式的数据也是允许的。  
在商业程序中的运用这种交换类型的标准模式是客户端发送一个文本字符串到服务端,然后服务端将这个字符串装载入一个XMLDOM对象中并且解释它,然后返回一段HTML给客户端,或则是另外一段XML代码给客户端让客户端的浏览器自己解释。在这种方式下,对于信息的传递来说是非常有效的形式,尤其是当你使用DHTML允许你根据返回信息动态显示时。  
具体流程为:客户端通过xmlhttp提出股票行情查询要求-->WEB服务器中的ASP侦听页接受请求后使用xmlhttp向股市行情数据库服务器发送检索命令-->数据库执行查询操作,返回结果给我们自己的WEB服务器(html形式)-->WEB服务器接收到内容后,过滤掉HTML多余部分,挑选出纯股票数据,组合后将结果传送给客户端->客户端浏览器使用vbscript显示出来。

二、ASP XmlHttp编程简述
1、客户端dns2.htm页面:
<script language="vbscript">
Sub submit1_onmouseup
Dim objXML, objXSL, objFSO,strFile, strFileName, strXSL,strURL, theString,TheForm
Set TheForm = Document.wordfind
window.status="正在检索数据···"
strURL="dns2.asp" ' 服务器侦听页地址
Set objXML = CreateObject("Microsoft.XMLHTTP") '创建MS的XMLHTTP组件
stra = "submit=submit&fqdn="&TheForm.webname.value
objXML.Open "post",strURL,false '采用Post提交方式;
objXML.setrequestheader "content-length",len(stra)
objXML.setrequestheader "content-type","application/x-www-form-urlencoded"
objXML.send stra ' 发送信息
xmlGet = objXML.responsebody '稍等片刻后,得到服务器端传回来的结果;
xmlGet = bytes2bstr(xmlGet) '将单字节转换成文本格式函数,源程序可以下面的dns2.asp程序中找到;
TheForm.comments.value=xmlGet
Set objXML = Nothing
end sub  
</script>

<html><head><title>XMLHTTP之股票行情篇</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgColor=#a1bae6>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="100%" align=center>
<form method="post" name=wordfind onsubmit="javascript:return false">
<FONT color=#002e5b face=geneva,arial,sans-serif size=2>
<B>请选择股票名称(美国纳斯达克)</B></FONT>
<FONT color=#002e5b face=geneva,arial,sans-serif size=2><B>:<br>
<select name=webname style="HEIGHT: 22px; WIDTH: 80px">
<option value="^IXIC">纳斯达克</option><option value="ASIA">亚信</option>
<option value="CHINA">中华网</option> <option value="NTES">网易</option>
<option value="SINA">新浪网</option> <option value="SOHU">搜狐</option>
</select><input type="submit" value="查询" id=Submit1 name=Submit1></B>
<TEXTAREA name=comments readonly rows=10 cols=76 ></TEXTAREA>
</form></td></tr></table></body></html>
2、服务器端dns2.asp程序:
<%
dim xmlGet
xmlGet=""
if len(trim(Request.form("fqdn"))) > 1 then
Dim objX