2012年11月30日 星期五

Windows system 上的各種 XMLHTTP 元件

Windows 上有好多版本的 XMLHTTP 元件 列舉如下

Microsoft.XMLHTTP
Microsoft.XMLHTTP.1.0
Msxml2.ServerXMLHTTP
Msxml2.ServerXMLHTTP.3.0
Msxml2.ServerXMLHTTP.4.0
Msxml2.ServerXMLHTTP.5.0
Msxml2.ServerXMLHTTP.6.0
Msxml2.XMLHTTP
Msxml2.XMLHTTP.3.0
Msxml2.XMLHTTP.4.0
Msxml2.XMLHTTP.5.0
Msxml2.XMLHTTP.6.0


這麼多的元件看起來令人混淆 還好這篇文章幫我們分析過了

大意是說
Microsoft.XMLHTTP:
        最老的元件 不要再用它了

Msxml2.ServerXMLHTTP:
        是給 server 端用的

Msxml2.XMLHTTP:
        是給 client 端用的

Msxml2.ServerXMLHTTP 和 Msxml2.XMLHTTP 其實差不多
Msxml2.ServerXMLHTTP功能強大一點 可以送 cookie

MSDN blog 告訴我們 Msxml2.XMLHTTP 最好用 6.0 或 3.0 版本
4.0 和 5.0 有 issue

除了這些元件之外 還有一個類似的元件 WinHttp 也可以讓你送 HTTP request
這個元件的介面跟 XMLHTTP 不太一樣 而且它有一個 XMLHTTP 作不到的功能
就是它可以送 Referer
var http = new ActiveXObject('WinHttp.WinHttpRequest.5.1');
http.Open('GET', 'http://xxx.yyy.zzz', false);
http.SetRequestHeader('Referer','http://xxx.yyy.zzz')http.Send();

沒有留言:

張貼留言