2014年12月14日
httpwatch抓包分析登录淘宝领取淘金币的过程(五)
上篇文章说到在broughtcoin.js文件中能找到最后领取淘金币链接的大部分关键信息,那么我是不是可以尝试在C#中调用该js文件,然后将js文件的执行结果提取出来再组装成领取淘金币的链接?
在正式研究在C#中调用js文件之前,我们先要确认每天领取淘金币时调用的broughtcoin.js文件是否相同。根据多天的领取淘金币的数据包对比,除了broughtcoin.js版本发生变化时会有差异外,只要版本未发生变化,调用的文件均一致。近半个多月以来,broughtcoin.js的版本均为1.0.17。
1.尝试在C#中调用普通js文件成功
1.1 首先要到Microsoft官网下载http://www.microsoft.com/zh-cn/download/details.aspx?id=1154 windows script control组件.
1.2 下载并安装完成后,到C#工程资源管理器中添加引用。
1.3 在C#工程中添加命名空间
1 |
using MSScriptControl; |
1.4 准备测试用的js代码
1 2 3 |
function sayHello() { return "Hello,C#"; } |
1.5 在C#中调用js代码
1 2 3 4 5 6 7 8 9 |
MSScriptControl.ScriptControlClass sc = new MSScriptControl.ScriptControlClass(); sc.Language = "javascript"; string path = AppDomain.CurrentDomain.BaseDirectory + "test.js"; string str2 = File.ReadAllText(path); string fun = string.Format(@"sayHello()"); sc.AddCode(str2); string result = sc.Eval(fun).ToString(); MessageBox.Show(result); |
2.尝试在C#中调用broughtcoin.js失败
失败的原因是C#不支持KISSY框架,遍寻网络,也未见有C#支持KISSY的相关言论,这下该怎么办呢?
在C#中直接调用js文件无果,那么我可以可以在C#中控制浏览器去执行该js文件,然后再获取浏览器的执行结果呢?传说C#的webBrowser可以做到,是不是真的可以呢?该怎样实现呢?