LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

Xmlhttp/ServerXmlhttp无法传送/伪造 Referer 问题解决方案

admin
2012年8月18日 9:54 本文热度 3414

最近遇到点头大的问题,网站采集一些数据时总是失败,采不到东西,后来手动用浏览器测试时发现是人家做了防盗链,直接采是采不到了,不过一般防盗也就是加个referer识别,试着加了一下,结果失败。。。但还是不死心,为了一探究竟,载了个sniffer,对比了用浏览器可以正常浏览的数据和采集程序发送的数据,发现采集系统发送的请求中referer为空,但是代码中的确是设置了referer的,是用ServerXmlhttp做的,以前一直都是好使的,但这次不知道为什么死活就是不听话。

后来百度了半天,终于看到一条有用的信息,说是微软出于安全方面考虑,禁止了xmlhttp组件发送referer等,看来用这个组件采集数据的站点有很多都要受影响了,偷点东西是真累呀,不过好在微软还给咱留了个小窗口,那就是winhttp组件,这个组件暂时还是可以用的,测试了一下果真可以写referer了,这回OK了,折腾了半天总算是有点收获,不敢独享,发上来给遇到同样问题的朋友参考。

以下为asp代码

<%

Function GetURL(psReqURL)

dim oWinHttp

Set oWinHttp =Server.CreateObject("WinHttp.WinHttpRequest.5.1")

oWinHttp.SetTimeouts 60000, 60000, 60000, 3000

oWinHttp.Option(4) =13056

oWinHttp.Option(6) =True

oWinHttp.Open "GET", psReqURL, False

oWinHttp.SetRequestHeader "Referer", psReqURL

oWinHttp.SetRequestHeader "Connection", "Close"

oWinHttp.Send

oWinHttp.WaitForResponse

If oWinHttp.Status =200 Then

GetURL =oWinHttp.ResponseBody

Else

GetURL =Null

End If

Set oWinHttp =Nothing

End Function

%>

更多关于winhttp组件的用法自己百度。


该文章在 2012/8/18 9:54:09 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved