ASP XMLHTTP
當前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
'********************************************************************************
'名稱: 遠程抓取函數(shù) '作用: 利用XMLHTTP遠程抓取數(shù)據(jù) '參數(shù): sMethod --- 發(fā)送方式 ' sUrl ------ 目標地址 ' iMode ----- 返回內(nèi)容類型:0為二進制,1為文本,2為cookie,3為文件頭信息 ' sBase ----- 設(shè)定編碼 ' sReferer -- 設(shè)定來源 ' sCookie --- 設(shè)定cookie ' sLanguage - 設(shè)定語言 ' sData ----- 設(shè)定要發(fā)送的參數(shù) ' sContent -- 設(shè)定接收數(shù)據(jù)類型 ' sAgent ---- 設(shè)定瀏覽器 ' sEncoding - 設(shè)定gzip壓縮 ' sAccept --- 設(shè)定文檔類型 '******************************************************************************** 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 '設(shè)定頁面來源 If sReferer<>"" Then .SetRequestHeader "Referer", sReferer Else .SetRequestHeader "Referer", Split(sUrl, "/")(2) End If If sCookie<>"" Then .SetRequestHeader "Cookie", sCookie '設(shè)定Cookie If sLanguage<>"" Then .SetRequestHeader "Accept-Language", sLanguage '設(shè)定語言 If sData<>"" Then .SetRequestHeader "Content-Length", Len(sData) '設(shè)定數(shù)據(jù)長度 If sContent<>"" Then .SetRequestHeader "Content-Type", sContent '設(shè)定接受數(shù)據(jù)類型 If sAgent<>"" Then .SetRequestHeader "User-Agent", sAgent '設(shè)定瀏覽器 If sEncoding<>"" Then .SetRequestHeader "Accept-Encoding", sEncoding '設(shè)定gzip壓縮 If sAccept<>"" Then .SetRequestHeader "Accept", sAccept '文檔類型 .Send sData 'While .ReadyState <> 4 ' .WaitForResponse 1000 'Wend If .ReadyState<>4 Or .Status<>200 Then SenFe_StealData = "無法取到數(shù)據(jù)!" 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 '******************************************************************************** '作用: 編碼轉(zhuǎn)換 '參數(shù): sBody - 要轉(zhuǎn)換的內(nèi)容 ' 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 編輯過 |
相關(guān)文章
正在查詢... |