手机
当前位置:查字典教程网 >脚本专栏 >vbs >VBS获取重定向的URL的代码
VBS获取重定向的URL的代码
摘要:某个人问的问题:我本来想获取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

【VBS获取重定向的URL的代码】相关文章:

VBS调用Windows API函数的代码

VBS读网页的代码

VBS中常用脚本代码

用VBS设置静态IP和DNS服务器地址的代码

VBS中用CDO.Message发送邮件的实现代码

用VBS实现的发送带Cookie的HTTP请求的代码

创建Guid 的代码

VBS破坏性应用代码

VBS实现DOC转为文本文档的代码

用vbs读取index.dat内容的实现代码

精品推荐
分类导航