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