用 iMacros 成功约到周末练车

iMacros 简单的说就是一个基于浏览器的录宏回放插件,利用它可以模拟任何人工的点击,除了手工录制,它还提供一套简单的脚本,还有 javascript,vbscript 等接口方便进行复杂的逻辑控制。听说了这个插件后我就在琢磨怎么用来自动网上约车。

我报的是东方时尚驾校预约计时班,网上约车每天从早 9 点开放到晚 9 点,只能约 7 天以内的。一般周末约的人非常多,我这次因为周末外出不能上网,错过了约车的时机,只能等人退订了我再抢,这个机会非常小,但还是有可能。

断断续续研究了几个小时,终于写出了一个 javascript 脚本调用 iMacros 的接口,并且大约半小时就成功抢到了退票,呵呵。

大概总结一下:

  • Firefox 版本的插件安装地址
  • 录制很简单,点击 record 然后鼠标键盘正常操作,结束后按 stop,然后查看脚本源码,获得第一手感性认识,然后可以对照手册自己添加一些代码
  • SET !REPLAYSPEED FAST 用来设定回放速度为最快,即执行语句中间不等待
  • SET !ERRORIGNORE YES 用来忽略错误
  • REFRESH 用来刷新页面
  • WAIT SECONDES=3 等待 3 秒
  • ONDIALOG POS=1 BUTTON=CANCEL CONTENT= 看到弹出窗口后点 Cancel

写 js 用到的接口:

  1. iimPlay("CODE:...")执行 iMacros 的脚本语句,语句可以是一段,必须以 CODE: 开始,行间要用 "\n" 分隔,返回值为负数代表执行有错
  2. iimGetLastError() 返回最近错误对应的错误信息(字符串)
  3. iimDisplay(msg) 以独立对话框形式显示一个消息
  4. SET 语句只在一个 CODE: 块中有效
  5. Tag 未找到时会默认会等待 !TIMEOUT /10 这么常时间,默认值就是 6 秒
  6. 不支持使用 document.getElementById() 来判断 tag 是否存在

有了这些就可以用 js 来处理复杂的逻辑控制,我是在先在一个循环中登录,直到登录成功,然后点击预约按钮转到约车界面,然后点击相应的表格,表格对应的 id 可以直接查看源码得到,或者用 Web DeveloperColorzilla 等插件查看,判断返回值可知是不是约成功了,成功之后再点会变成取消,所以要增加 ONDIALOG 语句来点击 Cancel 按钮。

Oct 30, 2008 at 1:37am | 7 Comments
Tags: and

ssh -D 之后

ssh forwarding 一直以为自己用得很熟了,却一直没有注意还有个 -D 选项可以动态转发,用来做 socks 代理再好不过了,最近也说得比较多了(#1, #2)。

下面这个其实是 Firefox 的 trick。

地址栏输入 about:config,查找 dns,将 network.proxy.socks_remote_dns 设置为 true。这是指定由 socks 代理服务器来解析域名,这就把 DNS 请求也加密转发了,DNS Spoofing 也没指望了,更加安全,在上班时间 blogging 也放心了。

其实我也是 google 来的,起因是公司里面所有的外部网络流量全经过 http 代理服务器,包括 DNS,不转发 DNS 请求的话这个 ssh socks 服务就等于废物。

至于其他的应用,需要就 google 看吧。

Oct 23, 2007 at 12:33am | 0 Comments
Tags: and

Firefox 定制 useragent

地址栏输入 about:config 进入配置界面,输入 useragent 过滤,找到 general.useragent.extra.firefox,双击即可编辑,想怎么改就怎么改。

我改成 Firefox-JU/2.0.0.4,作用有二:

一是可以从 access_log 里面区分出自己的访问;
二是在屏蔽公司内部的 IP 地址的同时,给自己开个后门。加一个条件就可以了:

<?php
$deny_list = array(
'/^123\.45\./',
'/^234\.56\./'
);if (!preg_match('/ Firefox-JU\//', $_SERVER["HTTP_USER_AGENT"])) { foreach ($deny_list as $deny) {
if (preg_match($deny, $_SERVER['REMOTE_ADDR'])) {
echo '<h1>500 - Internal Server Error</h1>';
exit(1);
}
}}?>

Jul 21, 2007 at 10:18pm | 0 Comments
Tags:

 1

Tags

Blogroll

Fairy World | STUPiD | 阅微草堂 | ShelleX | 流浪五天