[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[转贴] VBS代码获取重定向的URL

我本来想获取aaa.com页面的内容,可是aaa.com跳转到bbb.com了。我想获取bbb.com 这个网址。
某个人问的问题:
我本来想获取aaa.com页面的内容,可是aaa.com跳转到bbb.com了。我想获取bbb.com 这个网址。
访问了一下他所谓的aaa.com,发现是HTTP 302重定向
  1. HTTP/1.1 302 Moved Temporarily
  2. Server: nginx/0.8.53
  3. Date: Fri, 08 Apr 2011 15:49:25 GMT
  4. Content-Type: text/html;charset=utf-8
  5. Transfer-Encoding: chunked
  6. Connection: keep-alive
  7. X-Powered-By: PHP/5.2.15
  8. Location: http://tuan.sohu.com/beijing/life/
复制代码
为了测试方便,我写了一个302.php,重定向到小顾de杂记:
  1. <?php
  2. header('Location: http://ihipop.info/');
  3. ?>
复制代码
先用XMLHTTP试试:
  1. Dim http
  2. Set http = CreateObject("Msxml2.ServerXMLHTTP")
  3. http.open "GET", "http://demon.tw/test/302.php", False
  4. http.send
  5. WScript.Echo http.responseText
复制代码
XMLHTTP组件在处理包含Location头的302消息时太智能,直接给跳转到Location指定的页面了。
XMLHTTP不行,我们还有WinHttp.WinHttpRequest.5.1,该组件的Option属性的第六个索引EnableRedirects就是指示是否自动跳转:
  1. Dim WinHttp
  2. Set WinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
  3. WinHttp.Open "GET", "http://demon.tw/test/302.php", False
  4. WinHttp.Option(6) = False
  5. WinHttp.Send
  6. WScript.Echo WinHttp.GetResponseHeader("Location")
复制代码

TOP

返回列表