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

xml

一般情况下,如果我们想了解股市行情,必须登录专业股票网站,输入公司代码才能看到具体股价。其实,利用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 objXML, objXSL, objFSO
Dim strFile, strFileName, strXSL
Dim strURL, theString

'股市行情数据库服务器的地址
strURL="http://cn.finance.yahoo.com/q?s="+trim(Request.form("fqdn"))+"&d=2b"
Set objXML = CreateObject("Microsoft.XMLHTTP") '创建MS的XMLHTTP组件
objXML.Open "get", strURL, False
objXML.Send ' 发送信息
xmlGet = objXML.responsebody '稍等片刻后,得到股市行情数据服务器端传回来的结果;
xmlGet = bytes2bstr(xmlGet) '转换成文本格式函数,可以源程序中找到;

'过滤无用的HTML成分,挑选出股票具体信息;
strFind1 = instr(1,xmlGet,"最後交易",1)+8
strFind2 = instr(strFind1,xmlGet,"<b>",1)+3
strFind3 = instr(strFind2,xmlGet,"</b></td>",1)
xmlGet1="最后交易:"+mid(xmlGet,strFind2,strFind3-strFind2)+chr(13)+chr(10) '最后交易价

strFind1 = instr(1,xmlGet,"涨跌",1)+4
strFind2 = instr(strFind1,xmlGet,"<font color=",1)+19
strFind3 = instr(strFind2,xmlGet,"</font>",1)
xmlGet2="涨跌:"+mid(xmlGet,strFind2,strFind3-strFind2)+chr(13)+chr(10) '涨跌

Set objXML = Nothing
end if
response.write trim(Request.form("fqdn"))+"的股市行情:"+chr(13)+chr(10)+xmlGet1+xmlGet2
function bytes2bstr(vin)
strreturn = ""
for i = 1 to lenb(vin)
thischarcode = ascb(midb(vin,i,1))
if thischarcode < &am

时间: 2024-10-22 09:17:20

使用xmlhttp为网站增加股市行情查询功能的相关文章

使用xmlhttp为网站增加域名查询功能

xml 当我们准备建立一个Web站点时,就必须向域名登记机构申请一个Internet域名,因此,我们通常希望了解自己准备使用的域名是否已经被注册,这时,可以访问NIC站点http://www.nic.net,点击"whois"链接后输入需查询的域名,就可以得到我们需要的结果. WHOIS服务器为 .com..net 和 .org 的国际顶级域名的查询返回全部的 whois 数据,包括网站域名注册人.管理合约.联系方式(电话.电子邮件.地址).帐单联络.技术支持和域名服务器信息,对于用户

使用xmlhttp为网站增加域名查询功能_XML/RSS

当我们准备建立一个Web站点时,就必须向域名登记机构申请一个Internet域名,因此,我们通常希望了解自己准备使用的域名是否已经被注册,这时,可以访问NIC站点http://www.nic.net,点击"whois"链接后输入需查询的域名,就可以得到我们需要的结果. WHOIS服务器为 .com..net 和 .org 的国际顶级域名的查询返回全部的 whois 数据,包括网站域名注册人.管理合约.联系方式(电话.电子邮件.地址).帐单联络.技术支持和域名服务器信息,对于用户了解一个

使用xml http为网站增加域名查询功能

xml 当我们准备建立一个Web站点时,就必须向域名登记机构申请一个Internet域名,因此,我们通常希望了解自己准备使用的域名是否已经被注册,这时,可以访问NIC站点http://www.nic.net,点击"whois"链接后输入需查询的域名,就可以得到我们需要的结果. WHOIS为.com..net和.org的国际顶级域名的查询返回全部的whois数据,包括域名注册人.管理合约.联系方式(电话.电子邮件.地址).帐单联络.技术支持和域名信息,对于用户了解一个的基本情况很有帮助.

在.NET环境下为网站增加IP过滤功能

华能集团下某发电厂的企业网站(基于Asp.Net2.0实现,不允许修改源程序)要求实现"厂内用户可直接访问整个站点的所有页面,厂外用户只能访问指定的页面"的功能,本文将按照需求分析.方案设计.编码实现.部署应用的顺序逐步阐述整个解决方案的形成过程. 摘要:华能集团下某发电厂的企业网站(基于Asp.Net2.0实现,不允许修改源程序)要求实现"厂内用户可直接访问整个站点的所有页面,厂外用户只能访问指定的页面"的功能,本文将按照需求分析.方案设计.编码实现.部署应用的顺

ASP.NET环境下为网站增加IP过滤功能第1/2页_实用技巧

1. 需求分析 通过深入的交流和沟通,确认了该发电厂在企业网站用户访问控制方面的改进要求,大致情况如下: a) 网站基于Asp.Net2.0实现,不允许修改源程序 b) 厂内用户可直接访问整个站点的所有页面,员工不需要身份验证 c) 厂外用户只能访问指定的页面 显而易见,他们就是针对企业网站增加一项IP过滤功能,在厂外用户访问某些敏感页面时将其拒之门外.首先我们需要设置一个IP列表和一个Url列表,前者包含所有厂内IP,后者包含厂外用户可访问的全部Url,并且这两个列表都是可维护的:另外一个核心

网站综合信息查询工具大揭秘(asp+xmlhttp)

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 此类工具很多是通过asp+xmlhttp抓取官方页面信息(一般是国外网站),再二次整理.汉化,以便国内站长查看! 废话少说,现在就把此类工具的实现原理简单给大家说说,相信你读了此文后也可以很轻松的写出此类工具! 1.Alexa详细信息查询工具 此类工具分为两种 1.通过Alexa官方API接口获取信息,此类查询每千次查询需要向alexa支付

listview表头用combo进行筛选查询?怎么在listview的表头增加筛选查询的功能?

问题描述 listview表头用combo进行筛选查询?怎么在listview的表头增加筛选查询的功能? listview表头用combo进行筛选查询?怎么在listview的表头增加筛选查询的功能?

LinkedIn中文网站增加了多个本地化功能

目前在中国拥有400万注册用户.LinkedIn推出中文版 欲新增1.5亿中国用户腾讯科技 无忌 2月25日编译职业社交网站LinkedIn周二正式公布了中文名称"领英",并发布了简体中文测试版.此举标志着LinkedIn开始向中国市场进行扩张.LinkedIn希望其中国网站能够吸引1.4亿新专业人员,把公司的用户总数扩大50%.LinkedIn并未披露完成新增用户目标的时间框架.截至目前,通过LinkedIn的英文网站和中文版移动应用,这家公司在中国拥有400万注册用户.Linked

如何在.NET网站中实现域名查询功能

问题描述 如何在.NET网站中实现域名查询功能,望高手指点,谢谢了. 解决方案 解决方案二:帮你顶..很关注这个问题!解决方案三:在来一次...来高手解答啊1解决方案四:通过别的网站的查询结果,然后读入该页面的htmlsource,根据该html进行正则分析出最后的结果显示在你的页面上