标签:
目前很多网站为了防止恶意提交表单信息,大多都采用了加密的方式对提交信息进行处理,加密处理后通过POST提交给服务器验证,这种操作一般都是用Javascipt进行加密,若是我们想要正确提交表单到网站,就需要对javascipt的加密操作进行模拟。那么我们同样可以利用WebBrowser来执行JS脚本,达到加密的目的。
<html> <head> <script type=‘text/javascript‘ src=‘http://mm.10086.cn/moneditor/cs/include/js/common/core/core.js‘></script> <script type=‘text/javascript‘> function getPwd(phoneNum) { var result=strEnc(phoneNum,‘1234567‘,‘‘,‘‘); return result; } </script> </head> <body></body> </html>
先将窗口类设置为COM可访问
[System.Runtime.InteropServices.ComVisibleAttribute(true)] public partial class FrmDemo : Form
然后将之前我们写好的js代码放到WebBrowser里。
webBrowser1.DocumentText="<html> <head> <script type=‘text/javascript‘ src=‘http://mm.1008.cn/moneditor/cs/include/js/common/core/core.js‘></script> <script type=‘text/javascript‘> function getPwd(phoneNum) { var result=strEnc(phoneNum,‘1234567‘,‘‘,‘‘); return result; } </script> </head> <body> </body> </html>";
webBrowser1.Document.InvokeScript("getPwd", new object[] { "18780110000" })
会返回一个object的值,函数中返回的一定是一个加密后的字符串,将它转换为string就可以了。
注意一下,不要将调用代码写在Form_Load事件里面。
来源:http://www.cnblogs.com/Dersoul/archive/2011/11/27/2265142.html
winform下利用webBrowser执行javascript
标签:
原文地址:http://www.cnblogs.com/huaan011/p/4173613.html