用 VBS 發(fā)送 HTTP 請(qǐng)求時(shí),首先想到的一般是 Msxml2.XMLHTTP(Microsoft.XMLHTTP 已經(jīng)不提倡使用了)。
在大部分情況下,Msxml2.XMLHTTP 能夠很好地完成工作,因?yàn)樗怯芯彺娴?。比如,我們?Msxml2.XMLHTTP 發(fā)送 HTTP POST 請(qǐng)求模擬登陸了某個(gè)網(wǎng)站,它會(huì)把登陸時(shí)的 Cookie 和 Session 緩存下來,當(dāng)我們想獲取網(wǎng)站的數(shù)據(jù)時(shí)直接 HTTP GET 就行了,不需要人工發(fā)送 Cookie 和 Session。
但是,在有些時(shí)候,緩存會(huì)給我們?cè)斐陕闊1热缥覀円獙懸粋€(gè) VBS 腳本暴力破解某個(gè)網(wǎng)站的賬號(hào),假設(shè)我們已經(jīng)破解了一個(gè)賬號(hào),繼續(xù)破解時(shí),由于緩存的關(guān)系,網(wǎng)站會(huì)認(rèn)為我們已經(jīng)登陸了,這樣會(huì)干擾我們判斷賬號(hào)是否破解成功。也就是說,當(dāng)成功破解一個(gè)賬號(hào)后,需要多加幾行代碼登出這個(gè)賬號(hào)。在這種情況下,就應(yīng)該使用沒有緩存的 Msxml2.ServerXMLHTTP。
總結(jié)一下就是,如果需要緩存,則用 Msxml2.XMLHTTP;否則應(yīng)該用 Msxml2.ServerXMLHTTP。