【发布时间】:2012-09-19 21:18:03
【问题描述】:
我有一个基本的 C# HttpWebRequest。我的问题是它发送 GET 请求的页面,需要启用 javascript(在客户端)才能生成内容。
如何在我的代码中添加 javascript 支持?有没有可能?
【问题讨论】:
标签: c# javascript
我有一个基本的 C# HttpWebRequest。我的问题是它发送 GET 请求的页面,需要启用 javascript(在客户端)才能生成内容。
如何在我的代码中添加 javascript 支持?有没有可能?
【问题讨论】:
标签: c# javascript
服务器无法真正知道客户端是否支持 Javascript。它只能继续你给它的数据。
所以有两种可能:
它使用标头来计算要发送的响应,并推断您无法运行 Javascript。解决方案:找出它需要的标题,并明确设置它们。
它会将页面发回给您,但您无法使用它,因为您没有在浏览器上显示它。解决方案:查看页面,找出 AJAX 调用 Javascript 正在制作的内容,然后改为制作这些内容。您甚至可能不需要获取原始托管页面。
【讨论】:
HttpWebRequest 只是实现 GET,你需要完整的浏览器来执行 JavaScript(并且可能需要 CSS 文件,因为脚本可能依赖于它们)。
内置的方法是使用WebBrowser控件来渲染页面,在你发现JavaScript渲染完成后抓取innerHTML。
【讨论】: