C#如何调用 IE 的 ActiveX 控件?

106 天前
 Damn

前言 https://www.v2ex.com/t/1048925
于是想自己写一个 Loader ,忽略证书错误,记住用户名和密码,把登录操作精简到输验证码即可。
Fiddler 抓包分析和复现流程很顺利,最后卡在怎么用 C#调用 ActiveX 上面。。
有没有高手指教一下?

SSO 最后一步,HTML 里调 ActiveX 的代码

<object width="0" height="0" id="client" classid="CLSID:11111111-1111-1111-1111-111111111111" codebase="/download/xxxxxxx.cab" standby="Loading SSL ActiveX components..." type="application/x-oleobject"></object>
<script language="javascript">
    try {
        document.client.login("ip", 443, "sso ticket", "", "id");
        document.client.sendreq(118, "");
    } catch (ex) {
        if (ex.number == -2146827850) {
            // do something
        }
    }
</script>
object comObject = Activator.CreateInstance(Type.GetTypeFromCLSID(Guid.Parse("11111111-1111-1111-1111-111111111111")));
MethodInfo methodInfo = comObject.GetType().GetMethod("login");
// 无法调用,methodInfo == null
732 次点击
所在节点    Windows
2 条回复
ysc3839
105 天前
直接嵌入 IE 不行吗? IE 占内存也不大吧,不缺这点内存吧?
Damn
105 天前
@ysc3839 “忽略证书错误”。
21 天前你也回复了原帖,但证书 CN 和 dns name 字段与实际 host 不符,无法忽略错误。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1054666

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX