我试图刮网站,其中有某种闪光的插件,加载数据后,我检索HTML的。在页面中收到以下对象网站在网站刮尝试用flash插件
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" WIDTH="250" HEIGHT="20" id="Preloader"><PARAM NAME="movie" VALUE="/images/preloader.swf">
<PARAM NAME="quality" VALUE="high">
<PARAM NAME**strong text**="bgcolor" VALUE="#FFFFFF"><EMBED src="/images/preloader.swf" quality="high" bgcolor="#FFFFFF" WIDTH="250" HEIGHT="20" NAME="Preloader" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>
我试图找到在wireshark上收到的数据,但没有运气。我对这个Flash插件的知识或它的工作原理是零。我猜最坏的情况下,我将无法做到这一点。
HttpWebRequest mainRequest = (HttpWebRequest)(WebRequest.Create(URL));
mainRequest.Method = "GET";
mainRequest.Proxy = null;
WebResponse mainResponse = mainRequest.GetResponse();
StreamReader dataReader = new StreamReader(mainResponse.GetResponseStream(), System.Text.Encoding.UTF8);
string data = dataReader.ReadToEnd();
dataReader.Close();
mainResponse.Close();
return data;
有谁知道一种方法,我可以收到此数据,或使WebResponse的等待接收前的数据将被注入到HTML。任何帮助将不胜感激。
更新: 看来我可能已经用闪光物体将枪略微跳了一下。我认为这只是表格填充时的加载动画。我一直在用小提琴来看看发生了什么。该页面在加载div和包含在其中的flash对象的请求之后返回。几秒钟后,当数据准备就绪时,数据将返回另一个页面。从我可以记住的(即时不在家,所以现在不能确认)新页面与原始页面具有相同的请求标题。 Theres没有json或ajax数据在提琴手中。 Theres没有脚本在客户端上导致刷新,我可以看到。我不明白是什么导致这个更新。
我简单地看了一下网页浏览器对象,但我想这将是相当的性能打击时,即时通讯约200页,目前需要一分钟左右。稍后我将尝试使用amf查看器来确认flash对象不是更新的来源。
即时猜测服务器引起此页面被重新发送时,它具有表准备。 如果服务器正在查找加载div并将其替换为数据表,是否会导致整个页面被重新发送?或者不会显示在ajax/json数据中?如果是重新发送数据的服务器,我怎样才能保持响应打开,直到准备好发送新页面为止?
谢谢。 JM。
我发现我可以添加一个参数到链接来获取这个信息加载之前,它发送给我。我已经标记了这个答案是正确的,因为这是开始我的过程到最终的解决方案,虽然所有的答案都非常有帮助,谢谢:) – JMG