ASP XMLHTTP
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
'********************************************************************************
'名称: 远程抓取函数 '作用: 利用XMLHTTP远程抓取数据 '参数: sMethod --- 发送方式 ' sUrl ------ 目标地址 ' iMode ----- 返回内容类型:0为二进制,1为文本,2为cookie,3为文件头信息 ' sBase ----- 设定编码 ' sReferer -- 设定来源 ' sCookie --- 设定cookie ' sLanguage - 设定语言 ' sData ----- 设定要发送的参数 ' sContent -- 设定接收数据类型 ' sAgent ---- 设定浏览器 ' sEncoding - 设定gzip压缩 ' sAccept --- 设定文档类型 '******************************************************************************** Public Function SenFe_StealData(sMethod, sUrl, iMode, sBase, sReferer, sCookie, sLanguage, sData, sContent, sAgent, sEncoding, sAccept) Dim oXmlHttp : Set oXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP") With oXmlHttp If sMethod="" Then sMethod = "GET" .Open sMethod, sUrl, False '设定页面来源 If sReferer<>"" Then .SetRequestHeader "Referer", sReferer Else .SetRequestHeader "Referer", Split(sUrl, "/")(2) End If If sCookie<>"" Then .SetRequestHeader "Cookie", sCookie '设定Cookie If sLanguage<>"" Then .SetRequestHeader "Accept-Language", sLanguage '设定语言 If sData<>"" Then .SetRequestHeader "Content-Length", Len(sData) '设定数据长度 If sContent<>"" Then .SetRequestHeader "Content-Type", sContent '设定接受数据类型 If sAgent<>"" Then .SetRequestHeader "User-Agent", sAgent '设定浏览器 If sEncoding<>"" Then .SetRequestHeader "Accept-Encoding", sEncoding '设定gzip压缩 If sAccept<>"" Then .SetRequestHeader "Accept", sAccept '文档类型 .Send sData 'While .ReadyState <> 4 ' .WaitForResponse 1000 'Wend If .ReadyState<>4 Or .Status<>200 Then SenFe_StealData = "无法取到数据!" Exit Function End If Select Case iMode Case 0 SenFe_StealData = .ResponseBody Case 1 If sBase<>"" Then SenFe_StealData = BytesToBstr(.ResponseBody, sBase) Else SenFe_StealData = .ResponseText End If Case 2 SenFe_StealData = .getResponseHeader("Set-Cookie") Case Else SenFe_StealData = .getAllResponseHeaders() End Select End With End Function '******************************************************************************** '作用: 编码转换 '参数: sBody - 要转换的内容 ' sCset - 编码 '******************************************************************************** Function BytesToBstr(sBody, sCset) With oAdos .Type = 1 .Mode = 3 .Open .Write sBody .Position = 0 .Type = 2 .Charset = sCset BytesToBstr = .ReadText .Close End With End Function 该文章在 2013/11/28 11:39:13 编辑过 |
相关文章
正在查询... |