ASP中使用XMLHTTP或ServerXMLHTTP读取远程数据
照例使用xmlhttp同步方式获取数据,可是由于网络不稳定,经常造成'死锁'状况,既send之后一直不返回服务器结果,也不出错.
被这个问题折磨了好久,最后才查到还有ServerxmlHTTP这个对象,看了介绍才知道它才是天生为了服务器端获取其他网站信息设计的.利用他的超时机制,问题轻松解决:D
参考:
http://support.microsoft.com/kb/290761/zh-cn
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/97884cf6-5fdf-4b1f-8273-73c0e098b8f3.asp
下面付简单封装了ServerxmlHTTP的简单类,共参考:
<%
'使用范例
'读取URL 的HTML
dim myHttp
set myHttp=new xhttp
myHttp.URL="http://www.baidu.com"
Response.Write(myHttp.html)
'保存远程图片到本地
myHttp.URL="http://www.baidu.com/img/logo.gif"
myHttp.saveimage="myfile.gif"
'为防止xhttp卡死的情况,使用超时,错误处理
dim sHtmlcode,iStep
myHttp.URL="http://www.acnow.net"
sHtmlcode=myHttp.html
do while myHttp.xhttpError=""
Response.Error("ERROR: AGAIN!
")
sHtmlcode=myHttp.html
iStep=iStep+1
if iStep>100 then
Response.Write("ERROR:OVER!
")
exit do
end if
loop
Response.Write(sHtmlcode)
set myHttp=nothing
'--------------------------------------------------------------------
Class xhttp
private cset,sUrl,sError
Private Sub Class_Initialize()
'cset="UTF-8"
cset="GB2312"
sError=""
end sub
Private Sub Class_Terminate()
End Sub
Public Property LET URL(theurl)
sUrl=theurl
end property
public property GET BasePath()
BasePath=mid(sUrl,1,InStrRev(sUrl,"/")-1)
end property
public property GET FileName()
FileName=mid(sUrl,InStrRev(sUrl,"/")+1)
end property
public property GET Html()
Html=BytesToBstr(getBody(sUrl))
end property
public property GET xhttpError()
xhttpError=sError
end property
private Function BytesToBstr(body)
on error resume next
'Cset:GB2312 UTF-8
dim objstream
set objstream = Server.CreateObject("adodb.stream")
with objstream
.Type = 1 '
.Mode = 3 '
.Open
.Write body '
.Position =
相关文档:
在编程过程中,经常需要页面之间的传值;特别是中文传递的时候,经常出现乱码现象,很是郁闷。下面是我在网上找到的一些方法,供大家参考。
1.设置web.config文件。(没有用过)
<system.web>
......
<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2 ......
摘自:http://zxlh168.blog.163.com/blog/static/7778614020098168638654/
<%
’FSO组件名称
dim FSObject
FSObject="Scripting.FileSystemObject"
’=========================================================
’◆是否支持组件
’=============================================== ......
1:上传页面
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="te ......
很简单的教程,献给喜欢SEO的朋友们。把http://www.***.cn/article.asp?logID=26 替换成http://www.***.cn/article.asp?/a26.html。不需要通过iis+ISAPI_Rewrite做基于IIS的url rewrite
一、数据库很简单使用ACCESS,Data.mdb建立一个表Article,三个字段:ID,Title,Content;自动编号、标题、文章内容。
二、Config. ......
<%
function dt(v)
dim dy
dy=31
Marr=array(4,6,9,11)
yyyy=Year(Date())
mm=Month(Date())
dd=Day(Date())
if mm=2 then
if yyyy mod 400 or (yyyy mod 4=0 and yyyy mod v0=0) then
dy=29
else
dy=28
end if
else
for i=0 to 3
......