我想用如下代码生成静态页,含分页。结果提示指定的协议未知。

fwy12 2010-10-12 05:13:05
我想用如下代码生成静态页,含分页。结果提示指定的协议未知。
提示错误如下:
msxml3.dll '800c000d'

指定的协议未知。

\Admin\HTMLSAVE.asp, line 25


25行就是 objXmlHttp.send()这行。

请问这是怎么回事啊?

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
Const HTML_Article_Path = "html/"
ID=request("id")
Page = Request.QueryString("Page")
If Page = "" Then Page = 1
Call Article_Page_Html(ID,Page)
Private Sub Article_Page_Html(ID,iPage)
If iPage = 1 Then
FilePath = "../" & HTML_Article_Path & ID & ".html"
Else
FilePath = "../" & HTML_Article_Path & ID & "_" & iPage & ".html"
End If

FromURL = sPath & "list.asp?id=" & ID & "&thisPage=" & iPage & "&rnd=" & Now()

Call ToHtml(FromURL,FilePath)
End Sub

Private Sub ToHtml(FromURL,FilePath)
Response.Write("<a href=""" & FilePath & """ target=""_blank"">" & FilePath & " --> Ok</a><br>")
FilePath = Server.MapPath(FilePath)
Set objXmlHttp=Server.createObject("Microsoft." & "XMLHTTP")
objXmlHttp.open "GET",FromURL,false
objXmlHttp.send()
binFileData=objXmlHttp.responseBody
Set objXmlHttp = Nothing
Set objAdoStream=Server.createObject("ADODB." & "Stream")
objAdoStream.Type=1
objAdoStream.Open()
objAdoStream.Write(binFileData)
objAdoStream.SaveToFile FilePath,2
objAdoStream.Close()
Set objAdoStream = Nothing
End Sub
%>
...全文
113 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
fwy12 2010-10-14
  • 打赏
  • 举报
回复
根据楼上兄弟提示,我修改成代码,但是,运行的时候提示:
Microsoft VBScript 编译器错误 '800a0400'

缺少语句

\admin\save.asp, line 32

其中32行就是
FromURL = http://"&request.ServerVariables("Server_NAME")&""&SitePath&"list.asp?id=" & ID & "&Page=" & iPage & "&rnd=" & Now()
为什么会缺少语句呢?
<!--#include file="../../Inc/conn.asp"-->
<!--#include file="../../Inc/ubb.asp"-->
<!--#include file="../../Inc/fenye.asp"-->
<!--#include file="../../Inc.asp"-->
<%id=request("id")%>
<%
Sub ArtHtml(ID)
Dim ChannelDir
ChannelDir = "../html/"
Call oCreateFolder(ChannelDir)
Sql="Select ID,Content From Yao_Article Where Yn = 0 "
If ID <> "" Then
Sql=Sql& " And ID = "&ID&""
End If
Sql=Sql & " order by ID desc"
Set oRs = Conn.Execute(Sql)
If Not oRs.EOF Then
ID = oRs(0)
Content = oRs(1)
End If
oRs.Close
Set oRs = Nothing
If InStr(Content,"[yao_page]") > 0 Then
Content_Tmp = Split(Content,"[yao_page]")
Page_Count = Ubound(Content_Tmp)+1
For iPage=1 To Page_Count
If iPage = 1 Then
FilePath = ChannelDir & ID & ".html"
Else
FilePath = ChannelDir & ID & "_" & iPage & ".html"
End If
FromURL = http://"&request.ServerVariables("Server_NAME")&""&SitePath&"list.asp?id=" & ID & "&Page=" & iPage & "&rnd=" & Now()
Call ToHtml(FromURL,FilePath)
Next
Else
FilePath = ChannelDir & ID & ".html"
FromURL = http://"&request.ServerVariables("Server_NAME")&""&SitePath&"list.asp?id=" & ID & "&rnd=" & Now()
Call ToHtml(FromURL,FilePath)
End If
End Sub

Private Sub ToHtml(FromURL,FilePath)
Response.Write("<a href=""" & FilePath & """ target=""_blank"">" & FilePath & " --> Ok</a><br>")
FilePath = Server.MapPath(FilePath)
Set objXmlHttp=Server.createObject("Microsoft." & "XMLHTTP")
objXmlHttp.open "GET",FromURL,false
objXmlHttp.send()
binFileData=objXmlHttp.responseBody
Set objXmlHttp = Nothing
Set objAdoStream=Server.createObject("ADODB." & "Stream")
objAdoStream.Type=1
objAdoStream.Open()
objAdoStream.Write(binFileData)
objAdoStream.SaveToFile FilePath,2
objAdoStream.Close()
Set objAdoStream = Nothing
End Sub

%>
fwy12 2010-10-13
  • 打赏
  • 举报
回复
我也想分页循环,只是我循环了几次都是错误的,能不能帮我修改一下啊
  • 打赏
  • 举报
回复
分页要循环生成啊
fwy12 2010-10-13
  • 打赏
  • 举报
回复
果然是是http://的地址的地址就可以了。
只是如何点击一个连接,转向这一个页面后就自动生成该id对应的静态页面的,并且如果这个文章含有分页的话,分页也自动生成静态页的。
  • 打赏
  • 举报
回复
汗!你都没看清楚他是用objXmlHttp.open来打开内容页获取内容并生成静态页的
又不是通过读取数据库的
ChinaXtHuLang 2010-10-13
  • 打赏
  • 举报
回复
看了下。我记得好像是一个新闻的CMS写的。
你的内容分页那个过程没有内容。你怎么分页啊。。
Private Sub Article_Page_Html(ID,iPage)
'这里把ID传进来了。就要根据ID区你的文章表里面查询出该文章的内容。最后将内容进行分页处理
If Page = 1 Then
FilePath = "../" & HTML_Article_Path & ID & ".html"
Else
FilePath = "../" & HTML_Article_Path & ID & "_" & Page & ".html"
End If

FromURL = "http://"&request.ServerVariables("Server_NAME")&""&SitePath&"list.asp?id=" & ID & "&Page=" & iPage & "&rnd=" & Now()

Call ToHtml(FromURL,FilePath)
End Sub

参考下:
'==========================生成新闻文章静态页===================================
Sub ArtHtml(ID)
Dim ChannelDir
ChannelDir = "/art/"
Call oCreateFolder(ChannelDir)
Sql="Select ID,Content From Art Where 1 = 1 "
If ID <> "" Then
Sql=Sql& " And ID = "&ID&""
End If
Sql=Sql & " order by ID desc"
Set oRs = Conn.Execute(Sql)
If Not oRs.EOF Then
ID = oRs(0)
Content = oRs(1)
End If
oRs.Close
Set oRs = Nothing
If InStr(Content,"[NextPage]") > 0 Then
Content_Tmp = Split(Content,"[NextPage]")
Page_Count = Ubound(Content_Tmp)+1
For iPage=1 To Page_Count
If iPage = 1 Then
FilePath = ChannelDir & ID & ".html"
Else
FilePath = ChannelDir & ID & "_" & iPage & ".html"
End If
FromURL = Html_SysSiteUrl & "View_Art.asp?id=" & ID & "&thisPage=" & iPage & "&rnd=" & Now()
Call ToHtml(FromURL,FilePath)
Next
Else
FilePath = ChannelDir & ID & ".html"
FromURL = Html_SysSiteUrl & "View_Art.asp?id=" & ID & "&rnd=" & Now()
Call ToHtml(FromURL,FilePath)
End If
End Sub
疯爷们 2010-10-12
  • 打赏
  • 举报
回复
FromURL 的值不对

objXmlHttp.open "GET",FromURL,false
objXmlHttp.send()
打开的地址必须是http://的地址
  • 打赏
  • 举报
回复
Page = Request.QueryString("Page")
可能等于空格
加上
Page = trim(Request.QueryString("Page"))

fwy12 2010-10-12
  • 打赏
  • 举报
回复
fromURL改成http://开头的完整路径,后就可以了生成了,不过生成的是../html/230_.html --> Ok

却无法收成分页是怎么回事啊?我的分页格式是http://localhost/html/List.asp?ID=230&Page=3
blacklong 2010-10-12
  • 打赏
  • 举报
回复
fromURL应该是http://开头的完整路径。
IdeaCMS开源网站管理系统最新官方版v6.0.6 UTF8,IdeaCMS基于ASP+MSSQL/ACCESS的技术开发,自2008年发布第一个版本以来,我们每年都对程序做一次比较大的版本更新,至今已经发布了六个大版本。 IdeaCMS以简单、高效、灵活、易用、开源、模板新颖几大特点备受广大用户的青睐。通过admin5,chinaz等第三方平台下载量累计已经超过50万。部署网站超过100万。 IdeaCMS内置单、新闻、图片、视频、下载、产品、招聘七大内容模型,可以满足目前多类网站,特别是企业网站需求和发展需要。同时系统自带留言、会员、评论、订购、 应聘、投票、支付等插件。最新6.0版本还支持文章内链、智能手机。 IdeaCMS针对的客户: 第一:不懂技术的客户,我们官方提供多套新颖、前卫的模板可供选择。你不需要懂技术,只需要进入后台添加你公司数据即可。 第二:懂技术的技术员,你可以根据我们官方提供的各种说明文档制作自己的模板 第三:网络创业者,你不用懂技术,只需要有各种建站客户,你可以通过获取我们的代理资格获取到代理网站模板后自行开设一个建站网站进行推广。你名下客户的技术问题 都由我们提供技术支持。 IdeaCMS追求的目标是:不求成为最好的系统,但求成为最实用的系统。 官方地址:http://www.ideacms.net IdeaCMS6.0特色功能: 1、编码统一为utf-8 2、幻灯片样式可选择 3、在线管理在线客户及默认是否收缩 4、支持购物车,在线支付 5、会员可分组,文章可选阅读权限,并可扩展积分功能 6、后台可分不同权限管理员 7、图片相册功能 8、产品展示支持多图及放大效果 9、支持文章内链功能 10、支持频段自定义字段 11、支持生成网站地图 12、支持自定义栏目,文章关键词,描述 13、后台增加标签向导功能 14、支持投票 15、支持投递简历 6.0.6修正: 1.留言成功后不刷新问题 2.搜索列表错误 3.评论面提交成功后不刷新问题 4.网速问题造成加载幻灯片js弹框问题 5.循环标签中使用start参数后循环不正常问题 6.0.5修正: 1.切换模板随机修改模板目录防止被盗 2.下载展示没上传图片不显示问题 6.0.4修正: 1.动态模式下搜索后列表地址错误 2.动态模式下二级以下目录列表面包屑导航错误 3.后台模板可编辑 6.0.3修正: 1.提交人才需要登录后地址错误 2.编辑栏目提示目录已存在 3.生成静态未知分类文章时出错问题 4.生成首提升至根目录下

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧