前些日子在博客园上看到的一篇文章(现在搜索不到了,尽转载的),介绍了下WinHttp.WinHttpRequest.5.1。自己也查了一些资料,写了个vbscript脚本,来添加新浪微博好友。WinHttp.WinHttpRequest的介绍可以去微软官方查看,也有个介绍的网站:http://www.neilstuff.com/winhttp/。感兴趣的可以移步去围观一下。
简单看一下我改的博客园文章的代码,用于新浪微博自动添加好友,因为是前些日子写的。申请离职之后,害怕自己的以前的一些代码丢失,特发到网上来备案一下。简单解释在代码中,加上之前的php的curl函数,WinHttp.WinHttpRequest.5.1应该对以后一些研究会有帮助。而且WinHttp.WinHttpRequest也可以设置refer,cookie,user-agent,proxy……,关键是他可以在cmd里面跑,感觉比较酷(当然php也可以做到,但是不熟悉php的可以用js写出来代替curl)。不废话了,直接上代码。
function RemoteCall(method, url, param, header){
var obj = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
obj.Open(method||"GET", url, false);
obj.Option(4) = 13056;
obj.Option(6) = false;
obj.setRequestHeader("Cookie", "string");//先设置一个cookie,防止出错,见官方文档
obj.setRequestHeader("Cookie","你的新浪微博cookie");
obj.setRequestHeader("Host","t.sina.com.cn");
obj.setRequestHeader("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
obj.setRequestHeader("User-Agent","Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 QQDownload/1.7 FirePHP/0.5");
obj.Send(param);
return obj;
}
function post(url,param){
var obj = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
obj.Open("POST", url, false);
obj.Option(4) = 13056;
obj.Option(6) = false;
obj.setRequestHeader("Cookie", "string");
obj.setRequestHeader("Cookie","你的新浪微博cookie");
obj.setRequestHeader("Host","t.sina.com.cn");
obj.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
obj.setRequestHeader("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
obj.setRequestHeader("User-Agent","Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 QQDownload/1.7 FirePHP/0.5");
obj.Send(param);
return obj;
}
新浪自动加粉丝代码就不放出了,比较邪恶,不过新浪微博每天有200个限制,我也就释然了,简单说说思路:
- 先获取自己的cookie
- 然后去的某个人的粉丝或者其他方式的微博用户列表
- 正则匹配出来用户ID,循环开始post加好友请求
当然其他的语言也可以来使用WinHttp.WinHttpRequest实现一些限制访问功能。
记录一下,以后备用