如何在程序中模拟页面的javascript:function()交互?内详!
这么说吧:
比如有一个论坛的帖子列表,翻到第二页时触发的是
javascript:__doPostBack( 'MyDataGrid$_ctl29$_ctl1 ', ' ')
这样一个函数(这个是.NET自动生成的,还有其它页面内的js函数等),在浏览器中输入以上一串就能翻到第二页。
我想在我的程序中直接获取第二页、第三页等的内容(HTML内容),类似通常用WebClient获取 abc.aspx?page=2 这样的返回结果。也就是用程序进行javascript:__function()这样的交互,能实现吗?
第一次提问,请高手指教,感谢!
[解决办法]
你看看__doPostBack是怎么实现的就明白了,它是把参数赋给了几个hidden表单控件,然后把表单提交的。
所以你并不需要模拟javascript,可以直接以Post方式向它提交表单数据。
一般提交的也就是__EventTarget=MyDataGrid$_ctl29$_ctl1&__EventArgument=这样的数据,另外可能还要把__ViewStatus也要提交过去。
要提交哪些只要分析页面内表单控件就行了。
[解决办法]
最终同服务器交换的是一个HTTP数据包..
你只需要完全按照这个HTTP数据包.组织数据.再POST到服务器上,就OK了...