VBS获取重定向的URL

标签: , , ,

某个人问的问题:

我本来想获取aaa.com页面的内容,可是aaa.com跳转到bbb.com了。我想获取bbb.com 这个网址。

访问了一下他所谓的aaa.com,发现是HTTP 302重定向

HTTP/1.1 302 Moved Temporarily
Server: nginx/0.8.53
Date: Fri, 08 Apr 2011 15:49:25 GMT
Content-Type: text/html;charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.2.15
Location: http://tuan.sohu.com/beijing/life/

为了测试方便,我写了一个302.php,重定向到小顾de杂记:

<?php
header('Location: http://ihipop.info/');
?>

先用XMLHTTP试试:

Dim http
Set http = CreateObject("Msxml2.ServerXMLHTTP")
http.open "GET", "http://demon.tw/test/302.php", False
http.send
WScript.Echo http.responseText

XMLHTTP组件在处理包含Location头的302消息时太智能,直接给跳转到Location指定的页面了。

XMLHTTP不行,我们还有WinHttp.WinHttpRequest.5.1,该组件的Option属性的第六个索引EnableRedirects就是指示是否自动跳转:

Dim WinHttp
Set WinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
WinHttp.Open "GET", "http://demon.tw/test/302.php", False
WinHttp.Option(6) = False
WinHttp.Send
WScript.Echo WinHttp.GetResponseHeader("Location")

问题就这样完美的解决了,但是那个人连声谢谢都没有,真是世风日下。

随机文章:

  1. VBS十年未解之谜
  2. 用VBS解析JSON格式数据之VbsJson类
  3. 用JavaScript读写二进制文件的另一种方法
  4. C语言中的字符串常量
  5. VBS显示桌面

13 条评论 发表在“VBS获取重定向的URL”上

  1. ma.huateng@aliyun.com说道:

    太感谢啦!解决了我的问题,您的几篇博客在我最困难的时候多次解决我的问题,虽然是vbs但是是高深的通讯学问.万分感谢!多次受益!

  2. 小小说道:

    求指教,麻烦大神加一下QQ帮我解决一个vbs的问题,1195086884.给钱酬谢

留下回复