标题: VBS获取重定向的URL
作者: Demon
链接: https://demon.tw/programming/vbs-http-302-redirect.html
版权: 本博客的所有文章,都遵守“署名-非商业性使用-相同方式共享 2.5 中国大陆”协议条款。
某个人问的问题:
我本来想获取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", "https://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", "https://demon.tw/test/302.php", False WinHttp.Option(6) = False WinHttp.Send WScript.Echo WinHttp.GetResponseHeader("Location")
问题就这样完美的解决了,但是那个人连声谢谢都没有,真是世风日下。
赞赏微信赞赏支付宝赞赏
随机文章:
太感谢啦!解决了我的问题,您的几篇博客在我最困难的时候多次解决我的问题,虽然是vbs但是是高深的通讯学问.万分感谢!多次受益!
求指教,麻烦大神加一下QQ帮我解决一个vbs的问题,1195086884.给钱酬谢
写的非常详细,谢谢:>
這篇太神了。版主很有研究精神歐
这篇文章帮了我大忙了,感谢demon大神,我是看着你的博客长大的