主题:  XMLHTTP偷取外部站点文件,求助

沉默是金

职务:普通成员
等级:6
金币:11.2
发贴:4357
注册:2004/2/18 11:17:25
#12005/3/10 17:43:38
 Response.Buffer = True 
  Dim objXMLHTTP, xml
  Set xml = Server.CreateObject("Microsoft.XMLHTTP") '创建对象
    
  xml.Open "GET","http://www.5d.cn/bbs/images/logo2.gif",False

  xml.Send 
    
  Response.AddHeader "Content-Disposition", "attachment;filename=logo1.gif"  '添加头给这个文件
    
  Response.ContentType = "application/gif" '设置输出类型
    
  Response.Write "<img src="&xml.responseBody&">" '
  Set xml = Nothing


这段代码是在网上找到的,想把5D的这个LOGO偷过来 ,不过加了attachment提示把该文件下载,如何可以直接把他输出在WEB页上呢?


难人一个……

缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#22005/3/10 19:06:22
 <%
Response.Buffer = True 
  Dim objXMLHTTP, xml
  Set xml = Server.CreateObject("Microsoft.XMLHTTP") '创建对象
    
  xml.Open "GET","http://www.5d.cn/bbs/images/logo2.gif",False

  xml.Send 
    
  'Response.AddHeader "Content-Disposition", "attachment;filename=logo1.gif"  '添加头给这个文件
    
  'Response.ContentType = "application/gif" '设置输出类型
    
response.BinaryWrite xml.responseBody
  Set xml = Nothing
%>





要直接输出图片,怎么还加HTML代码?



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
注册:2001/12/20 15:57:57
#32005/3/10 20:02:09
除了偷图标,还能偷什么?


非常大鱼

缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#42005/3/10 22:08:26
比如你想提供某个服务,但是你没有能力做。你就可以偷
比如你想批量下载某个网站的图片或者新闻,也可以



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
注册:2001/12/20 15:57:57
#52005/3/10 22:44:40
网上那种域名搜索,如果没有接口不知能不能偷。


非常大鱼

沉默是金

职务:普通成员
等级:6
金币:11.2
发贴:4357
注册:2004/2/18 11:17:25
#62005/3/11 8:44:57
呵呵,不好意思,再问一下,为什么显示的是乱码,而不能把这个图标显示出来呢,是不是还有什么属性或者方法什么的?


难人一个……

缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#72005/3/11 8:50:29
response.BinaryWrite



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#82005/3/11 8:51:31
蓝鲸在上个帖子中说
引用:
网上那种域名搜索,如果没有接口不知能不能偷。


可以.我以前做过一个发在这里的.



沉默是金

职务:普通成员
等级:6
金币:11.2
发贴:4357
注册:2004/2/18 11:17:25
#92005/3/11 9:06:13
allinhands在上个帖子中说
引用:
response.BinaryWrite

试着以response.write输入,可是仍然是乱码,晕了。


难人一个……

缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#102005/3/11 9:11:24
二进制的字符串当然不能直接Response.write



绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
注册:2000/12/28 12:10:01
#112005/3/14 11:52:31
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>利用XMLHTTP获取远程数据</TITLE>
<META NAME="Generator" CONTENT="Microsoft FrontPage 4.0">
<style type="text/css">
<!--
td,body,div,p,.input,.select,.button,textarea{
    font-family: "Verdana";
    color: #666666;
    font-size:11px;
}
.input,select,textarea {
    background-color: #f3f3f3;
    border: 1px inset #FFFFFF;
}
.button {
    width: 72px;
    height: 22px;
    background-repeat: no-repeat;
    background-image: url(button.gif);
    border: none;
    word-spacing: 2px;
}
-->
</style>
<%
Function bytes2BSTR(vIn)
strReturn = ""
For b = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,b,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,b+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
b = b + 1
End If
Next
bytes2BSTR = strReturn
End Function

function getPage(url)
dim Http
set Http=server.createobject("MSXML2.XMLHTTP")
Http.open "GET",url,false
Http.setrequestHeader "Accept-Language","zh-cn"
Http.send()
if Http.readystate<>4 then
exit function
end if
getPage=Bytes2bStr(Http.responseBody)
set http=nothing
if err.number<>0 then err.Clear
end function


if Request.QueryString("url")<>"" then
Html=getPage(Request.QueryString("url"))
end if
%>
</HEAD>
<BODY>
<form name="form1" method="get" action="">
<table width="500" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">
<tr bgcolor="#f3f3f3">
<td height="25" bgcolor="#EEEEEE"><strong>利用XMLHTTP获取远程文件源代码</strong></td>
</tr>
<tr bgcolor="#f3f3f3">
<td height="25" align="center" bgcolor="#f3f3f3"> <input name="url" type="text" class="input" id="url" value="http://www.baidu.com" size="40">
&nbsp;&nbsp;&nbsp; <input name="Submit" type="submit" class="button" value="获取">
</td>
</tr>
</table>
</form>
<p align="center">
<textarea name="code" cols="100" rows="20" wrap="VIRTUAL" id="code"><%= Html %></textarea>
</p>
<%
Html=Replace(Html,"http://www.baidu.com/img/slogo.gif width=174 height=64","http://www.5d.cn/bbs/images/logo.gif")
%>
<hr color="#000000" size="1" width="500">
<div align="center"><strong>假冒百度</strong> </div>
<hr color="#000000" size="1" width="500">
<div align="center" style="border:1px solid #000000;padding:5px;"><%= Html %></div>
</BODY>
</HTML>



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#122005/3/14 12:34:58
楼上的代码很眼熟



绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
注册:2000/12/28 12:10:01
#132005/3/15 13:46:09
是5D里的一篇文章,,楼主太懒了,,站内搜索一下就可以了