文章关键字 ‘VBScript’

一个复杂的VBS脚本问题——变量的变量

2011年03月20日,星期日

如果说之前写的《一个简单的VBS脚本问题——两数相加》没有什么技术含量,那么这个问题就相对比较有技术含量了。一个很久以前别人问的问题:

话说。。有a1、a2、a3…..a100这100个变量,不是数组,有没办法快速把他们加起来。。。
for i=1 to 100 step 1
a=a+a & i
next
我试了不行。。

自己先思考一下怎么做吧,我已经把这100个变量准备好了,点击这里获取。随机生成了100个[1,100]之间的数,所有数的和为5076,看看你算对了吗?

(更多…)

VBS伪造HTTP-REFERER(二)

2011年03月19日,星期六

曾经写过一篇《VBS伪造HTTP-REFERER》,是用Winsock控件实现的,这个控件系统默认是没有安装的。还是那句话,这种没有可移植性的代码还是少写的好。我的理念是,“一旦写成处处可用”(听起来好像Java)。

今天无意中发现还有WinHttp.WinHttpRequest.5.1这个COM,功能看起来和Msxml2.XMLHTTP差不多。测试了一下,可以在HTTP请求中发送Referer。

Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
http.Open "GET","https://demon.tw/test/referer.php",False
http.SetRequestHeader "Referer","https://demon.tw"
http.Send
WScript.Echo http.responseText

最后,再次鄙视一下那些测试都不测试就随便复制粘贴的(Google一下“ASP伪造REFERER”,你就知道)。

参考链接:WinHttpRequest Object

使用正确版本的XMLHTTP

2011年03月17日,星期四

说起XMLHTTP,相信你一定不会陌生,当前大红大紫的AJAX技术的核心所在。我在这里不讨论AJAX,也不讨论JavaScript,而是讨论VBScript。

我枚举了一下,在我的系统(Windows7)中,以下ProgID都可以创建XMLHTTP对象:

Microsoft.XMLHTTP
Microsoft.XMLHTTP.1.0
Msxml2.ServerXMLHTTP
Msxml2.ServerXMLHTTP.3.0
Msxml2.ServerXMLHTTP.4.0
Msxml2.ServerXMLHTTP.5.0
Msxml2.ServerXMLHTTP.6.0
Msxml2.XMLHTTP
Msxml2.XMLHTTP.3.0
Msxml2.XMLHTTP.4.0
Msxml2.XMLHTTP.5.0
Msxml2.XMLHTTP.6.0

不同的版本有什么区别呢?Google告诉你答案:

(更多…)

InputBox与两数相加——一个简单的VBS脚本问题

2011年03月9日,星期三

一个昵称为预言家晚报的朋友很喜欢玩SOSO问问,等级LV10,已经算比较高了。晚上挂QQ的时候,看到他的问问有更新,就点进去看了一下,问题是:

我写了如下一段VBS

dim a,b,c
a=inputbox("a","please input")
b=inputbox("b","please input")
c=a+b
msgbox(c)

可是最后结果是11,我知道肯定是倒数第二行的“+”没有作为运算符,请问这段代码该咋么写才正确?

你肯定会不屑一顾,切,那么简单的程序,谁不会?那请你先别往下看,独立写出这个程序,看看到底对不对。注意我的标题是两数相加,而不是两整数相加。

(更多…)

在InternetExplorer.Application中显示本地图片

2011年02月19日,星期六

很久以前的问题了,一直没解决,今天无意中搜到了答案。

在InternetExplorer.Application对象中显示远程服务器上的图片是没有问题的:

Dim IE
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate "about:blank"
IE.Document.write "<img src='https://demon.tw/demon.gif' />"
IE.Visible = True

然而,在IE默认的设置下,却无法显示本地图片:

(更多…)