首页 > 编程 > VBScript > 正文

VBS获取重定向的URL的代码

2020-06-26 18:27:10
字体:
来源:转载
供稿:网友
我本来想获取aaa.com页面的内容,可是aaa.com跳转到bbb.com了。我想获取bbb.com 这个网址。
 
某个人问的问题: 
我本来想获取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") 

问题就这样完美的解决了,但是那个人连声谢谢都没有,真是世风日下。
原文:http://demon.tw/programming/vbs-http-302-redirect.html

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表