文章关键字 ‘VB’

用VBS解析JSON格式数据

2011年03月21日,星期一

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

更多关于JSON的介绍请访问 http://www.json.org/json-zh.html

在Google Code上有一个aspjson项目,但是这个项目是用VBS来生成JSON格式的数据,而不是用VBS来解析JSON格式数据。我Google来Google去也没找到现成的能够解析JSON的VBS代码。

(更多…)

一个复杂的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

VBS发送带Cookie的HTTP请求

2011年03月18日,星期五

在昨天的《使用正确版本的XMLHTTP》中卖了个关子,ServerXMLHTTP的功能比XMLHTTP强大,你现在大概已经猜到了吧。没错,用ServerXMLHTTP可以在HTTP请求头中加入Cookie,而XMLHTTP不可以。

为了方便测试,先写一个回显Cookie的简单的PHP程序:

<?php
foreach($_COOKIE as $key => $value)
    echo "$key => $value\r\n";
?>

(更多…)

使用正确版本的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告诉你答案:

(更多…)