麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > ASP > 正文

vbs或asp采集文章時網(wǎng)頁編碼問題

2024-05-04 11:09:21
字體:
供稿:網(wǎng)友
研究網(wǎng)頁編碼很長時間了,因?yàn)樽罱O(shè)計一個友情鏈接檢測的VBS腳本,而與你鏈接的人的頁面很可能是各種編碼
 
 
 
'/*========================================================================= 
' * Intro 研究網(wǎng)頁編碼很長時間了,因?yàn)樽罱O(shè)計一個友情鏈接檢測的VBS腳本,而與你鏈接的人的頁面很可能是各種編碼,以前采取的方法是:如果用GB2312查不到再用UTF-8查,再找不到證明對方?jīng)]有給你做鏈接雖然不是100%正確,但也差不多了,這兩種編碼用的人比較多,偶然間在收藏夾里的一個地址看到的一個思路,終于可以在采集文章時自動判斷網(wǎng)頁的編碼了。因?yàn)檠芯窟^程中這個問題困擾很久,雖然現(xiàn)在覺得簡單了,想必很多人還在找,所以把這三個函數(shù)貼出來。 
' * FileName GetWebCodePage.vbs 
' * Author yongfa365 
' * Version v2.0 
' * WEB http://www.yongfa365.com 
' * Email yongfa365[at]qq.com 
' * FirstWrite http://www.yongfa365.com/Item/GetWebCodePage.vbs.html 
' * MadeTime 2008-01-29 20:55:46 
' * LastModify 2008-01-30 20:55:46 
' *==========================================================================*/ 


Call getHTTPPage("http://www.baidu.com/") 
Call getHTTPPage("http://www.google.com/") 
Call getHTTPPage("http://www.yongfa365.com/") 
Call getHTTPPage("http://www.cbdcn.com/") 
Call getHTTPPage("http://www.csdn.net/") 


'得到匹配的內(nèi)容,返回數(shù)組 
'getContents(表達(dá)式,字符串,是否返回引用值) 
'msgbox getContents("a(.+?)b", "a23234b ab a67896896b sadfasdfb" ,True)(0) 

Function getContents(patrn, strng , yinyong) 
'by www.yongfa365.com 轉(zhuǎn)載請保留鏈接,以便最終用戶及時得到最新更新信息 
On Error Resume Next 
Set re = New RegExp 
re.Pattern = patrn 
re.IgnoreCase = True 
re.Global = True 
Set Matches = re.Execute(strng) 
If yinyong Then 
For i = 0 To Matches.Count -1 
If Matches(i).Value<>"" Then RetStr = RetStr & Matches(i).SubMatches(0) & "柳永法" 
Next 
Else 
For Each oMatch in Matches 
If oMatch.Value<>"" Then RetStr = RetStr & oMatch.Value & "柳永法" 
Next 
End If 
getContents = Split(RetStr, "柳永法") 
End Function 

Function getHTTPPage(url) 
On Error Resume Next 
Set xmlhttp = CreateObject("MSXML2.XMLHTTP") 
xmlhttp.Open "Get", url, False 
xmlhttp.Send 
If xmlhttp.Status<>200 Then Exit Function 
GetBody = xmlhttp.ResponseBody 
'柳永法(www.yongfa365.com)在此的思路是,先根據(jù)返回的字符串找,找文件頭,如果還沒有的話就用GB2312,一般都能直接匹配出編碼。 
'在返回的字符串里看,雖然中文是亂碼,但不影響我們?nèi)∑渚幋a, 
GetCodePage = getContents("charset=[""']*([^"",']+)", xmlhttp.ResponseText , True)(0) 
'在頭文件里看編碼 
If Len(GetCodePage)<3 Then GetCodePage = getContents("charset=[""']*([^"",']+)", xmlhttp.getResponseHeader("Content-Type") , True)(0) 
If Len(GetCodePage)<3 Then GetCodePage = "gb2312" 
Set xmlhttp = Nothing 
'下邊這句在正式使用時要屏蔽掉 
WScript.Echo url & "-->" & GetCodePage 
getHTTPPage = BytesToBstr(GetBody, GetCodePage) 
End Function 


Function BytesToBstr(Body, Cset) 
On Error Resume Next 
Dim objstream 
Set objstream = CreateObject("adodb.stream") 
objstream.Type = 1 
objstream.Mode = 3 
objstream.Open 
objstream.Write Body 
objstream.Position = 0 
objstream.Type = 2 
objstream.Charset = Cset 
BytesToBstr = objstream.ReadText 
objstream.Close 
Set objstream = Nothing 
End Function
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲成a人在线 | 中文字幕一区二区三区四区 | 5xsq在线视频 | 成人福利在线播放 | 龙床上的呻吟高h | 九色免费视频 | 免费观看一区二区三区 | 久久亚洲精品国产 | 国产亚洲精品久久午夜玫瑰园 | 国产精品久久久久久久久久久天堂 | 精品在线一区二区三区 | av在线一区二区三区四区 | 亚洲国产精品一区二区精品 | 久久tv免费国产高清 | 一级片a | 激情91 | 亚洲精品一区二区三区免 | 国产va在线观看免费 | 99精品视频免费看 | 精品亚洲成a人在线观看 | 午夜视频在线 | 视频一区二区三区在线播放 | 日日草日日干 | 亚洲啊v在线观看 | 亚洲国产视频网 | 国产91久久久久久 | 一本一道久久久a久久久精品91 | 一道本不卡一区 | 久久久久久久久亚洲精品 | 在线免费黄色网 | 久久精品国产一区二区电影 | 久草在线最新免费 | 日韩字幕在线观看 | 日韩一级成人 | 国产精品性夜天天视频 | 媚药按摩痉挛w中文字幕 | 欧美成人免费tv在线播放 | 19禁国产精品福利视频 | 手机在线看片国产 | 国产噜噜噜噜久久久久久久久 | 91精品成人福利在线播放 |