- 不能重定向到不同的域名
举例来说,http://alturl.com/it3jp 这个网址会重定向至 http://example.com/。而用 Msxml2.XMLHTTP 请求这个网址你既得不到返回的网页内容,也得不到返回的 HTTP 头部信息。Code: Select all
req := ComObjCreate("Msxml2.XMLHTTP") req.open("GET", "http://alturl.com/it3jp", False) req.Send() MsgBox, % req.responseText "`n" req.getAllResponseHeaders()
- 无法设置 Referer
req.SetRequestHeader("Referer", "http://example.com/") 没有效果。 - 它会缓存网页内容。多次打开同一个网址,每次得到的结果都是跟第一次一样的。
关于这个问题,我在谷歌里找到了两个解决方法。
Code: Select all
req := ComObjCreate("Msxml2.XMLHTTP") Loop, 3 { req.open("GET", "http://tmplinshi.sinaapp.com/test/time.php", False) req.Send() MsgBox, % req.responseText ; 3次获取的时间都一样了 }
- 给网址增加一个随机参数
Code: Select all
req := ComObjCreate("Msxml2.XMLHTTP") Loop, 3 { r := ComObjCreate("Scriptlet.TypeLib").Guid req.open("GET", "http://tmplinshi.sinaapp.com/test/time.php?r=" r, False) req.Send() MsgBox, % req.responseText }
- 设置缓存的请求头
Code: Select all
req := ComObjCreate("Msxml2.XMLHTTP") Loop, 3 { req.open("GET", "http://tmplinshi.sinaapp.com/test/time.php", False) req.SetRequestHeader("Pragma", "no-cache") req.SetRequestHeader("Cache-Control", "no-cache") req.SetRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT") req.Send() MsgBox, % req.responseText }
- 给网址增加一个随机参数
Msxml2.XMLHTTP 的几个严重问题
Moderators: tmplinshi, arcticir
Msxml2.XMLHTTP 的几个严重问题
Msxml2.XMLHTTP 的用法跟 WinHttp.WinHttpRequest.5.1 很相似,但是目前我发现了 3 个严重的问题:
Re: Msxml2.XMLHTTP 的几个严重问题
它有什么优点,是WinHttpRequest.无法实现的呢?
Re: Msxml2.XMLHTTP 的几个严重问题
- Msxml2.XMLHTTP 用的是 IE 浏览器的 cookie
- 自动添加头字段Accept-Encoding: gzip, deflate,并能自动解压。
Who is online
Users browsing this forum: No registered users and 14 guests