[转载]两分钟完成网上订票从登录到付款

baacloud免费翻墙vpn注册使用

[转载]开源项目助我回家–两分钟完成网上订票从登录到付款 – jiangzhuo – 博客园.

本文中提到的代码全部来源于网上的开源项目

花了不到两个小时拼凑而成的程序就可以实现两分钟从登录到付款的全部操作.

下面是正文

要解决的问题:

1登录不上去

2登录上去后提交不上订单

3提交上订单后付款不成功要重新登录

开始解决问题:

首先要有一个从登录到订票全部流程的实现,而且要自动化的实现。从登录到订票这个流程codeplex上的一个开源项目

TrainSearch http://myticketsearch.codeplex.com/ 基本实现了 而且结合了Webbrowser空间可以在登录成功后共用一个session,实现网页不用再次登录。

但是这个项目不够自动化要手动输入验证码

于是本人最初的修改是利用Tessocr进行验证码识别(利用Tessocr受到了Java的订票开源项目的启发 http://code.google.com/p/go-home/

之后发现有人利用验证码不刷新的BUG(虽然早知道有这个BUG 但是没有想到他们竟然六个月不修这个BUG) 于是修改了下代码的逻辑之请求一次验证码。

这样就解决了前两个问题

最后一个问题就是付款  付款要再登录啊 什么坑爹的逻辑啊

而且由于我们Webbrowser维持的session会因为“网上支付”那个按钮是target=”_blank” 会弹出新的IE窗口传递不了我们Webbrowser维持的Session

这里就需要不弹出IE 于是用到了又一个开源项目ExtendedWebBrowser http://www.codeproject.com/KB/cpp/ExtendedWebBrowser.aspx

这样Session的问题解决了 不用登录那个破网页 直接一个程序解决了 下面程序截图

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏