发新话题
打印

[转载]支持非80端口的文件绝对路径的获取脚本程序代码

[转载]支持非80端口的文件绝对路径的获取脚本程序代码

信息来源:黑客基地

得到当前asp执行文件所在的绝对路径(支持带端口的绝对路径)以'/'结束 
在解决一些XML文档调用时有用.或应用到小偷程序中

程序如下
复制内容到剪贴板
代码:
//powered By Airzen
//qq:39192170
//e_mail:airzen@sohu.com
//date:2004-12-03
//转贴请保留作者信息

FUNCTION GetFullPath()
  dim path,host_name,host_port,url_path
  path=request.ServerVariables("PATH_INFO")
  path=left(path,instrrev(path,"/"))
  host_name=request.ServerVariables("SERVER_NAME")
  host_port=request.ServerVariables("SERVER_PORT")
  if host_port<>"80" then host_name=host_name&":"&host_port
  GetFullPath="http://"&host_name&path
End Function

Function GetPage(url)
IF url="" then exit function
Set Retrieval = CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "Get", url, False, "", ""
.Send
GetPage = BytesToBstr(.ResponseBody)
End With
Set Retrieval = Nothing
End Function

Function BytesToBstr(body)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = "GB2312"
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function

Function WriteToFile(fil,wstr)
Dim fso, f
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateTextFile(Server.MapPath(fil),True)
f.Write wstr
Set f = nothing
Set fso = nothing
End function

Function ReadAllTextFile(filespec)
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(server.MapPath(filespec), 1)
ReadAllTextFile =  f.ReadAll
Set f=nothing
Set fso=nothing
End Function

Function IsExists(filespec)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(server.MapPath(filespec))) Then
IsExists = True
Else
IsExists = False
End If
End Function


MakeXML.ASP
----------------------------------------------------------------------------------------------------------
<p><a href="?MakeFile=address.xml&SeedFile=listAddress.asp" >点击生成客户XML文件</a>(address.xml)</p>
<p><a href="?MakeFile=brand.xml&SeedFile=listBrand.asp">点击生成产品XML文件</a>(brand.xml)</p>
<!-- #include file="Module/func.asp"-->
<%
&#39;///////////////////////////////////////
&#39;    MakeXML.asp
&#39;coder  :airzen
&#39;date  :Nov 15,2004
&#39;descript  :MAKE THE XML FILE "Address.xml" "Brand.xml"
&#39;email  :airzen@sohu.com
&#39;qq  :39192170
&#39;Create Date:2004 11.5
&#39;Modified History:2004 11.15
&#39;///////////////////////////////////////

&#39;on error resume next
SUB MakeXML(byVal make_fileName,byVal seed_ASPfile)
IF IsExists(seed_ASPfile)  THEN
  url_path=GetFullPath()&seed_ASPfile
  &#39;response.write url_path
  
  make_content=GetPage(url_path)
  call WriteToFile(make_fileName,make_content)
  
  if err.number>0 then
  response.write "<BR>File Generate Failed!"
  else
  &#39;response.write make_content
  response.write "<BR>OK!! the File [ <font color=red>"&make_fileName&"</font> ] has Generated!"
  end if
ELSE
  RESPONSE.WRITE("参数错误")
END IF
  
END SUB

make_fileName=request.QueryString("MakeFile")
seed_ASPfile=request.QueryString("SeedFile")
IF request.ServerVariables("QUERY_STRING")>"" then
CALL MakeXML(make_fileName,seed_ASPfile)
END IF
%>
曾几何时,有人对我说:装B遭雷劈。我说:去你妈的。于是,这个人又对我说:如果再说脏话,上帝会惩罚你的。我说:我操上帝。结论:彪悍的人生不需要上帝。

TOP

发新话题