【问题】
折腾这个的时候,先后操作是:
http://www.cadastur.turismo.gov.br/cadastur/PesquisarEmpresas.mtur -> "Guia de Turismo" -> "Pesquisar" -> 获得9440个搜索到的数据
结果用IE9和Firefox,结果都无法完美的获得对应的POST数据,即:
对应的,使用:
Chrome的Ctrl+Shift+I
倒是可以获得对应的,貌似是完美的POST数据:
对应的问题来了。
即使是从Chrome中,捕获的,看似完美的POST数据,但是由于其是由网页中的Flash控件所生成的POST数据,
此处即为:
null/6< Oflex.messaging.messages.RemotingMessageoperation sourcetimeToLivedestinationtimestampheaders bodymessageIdclientId!recuperarListaUfservicoUf DSIdIC7ED0E1D-FD1E-0178-2077-76E660ACE7AFDSEndpointcadastur-amf I9230816E-7762-D3A5-AECE-F0D040F419E5IC7ED12F3-C82F-39BC-7730-108173470080 |
其看似,也基本上是没有规律的,也无法找到内在规律,无法写程序去模拟生成此数据。
【解决过程】
1.目前貌似真的没有好办法,无法写程序模拟生成此POST数据。
2.另外还注意到了,从Chrome中拷贝粘贴出来的数据,放到Notepad++,其可以显示控制字符,效果是这样的:
即,POST数据中,还包含很多控制字符的。
所以,对于写程序模拟来说,更增加了难度了。
3.看到这里:
Data capture from flash application
的解释,其提到了,需要用到WinCap之类的网络分析软件。此处好像即使捕获了,估计结果也还是和Chrome中分析出来的一样。
现在的难点是,即使通过Chrome等工具捕获了post数据,但是还是不知道其数据的规律,无法写程序模拟生成该数据。
4.后来搜:
application/x-amf
而找到:
提到了可以用charles解密x-amf。
5.搜
decode x-amf
而找到:
得知了:
6.
另外,关于解码amf,有空也可以参考:
[AMF packet] Decoding AMF binary data
7.从:
得到更多有效信息,可以用:
Firefox+Firebug+Flashbug
Charles proxy
python + pyamf
Java AMF client that comes with BlazeDS
8.先去试试Flashbug
https://addons.mozilla.org/zh-cn/firefox/addon/flashbug/
再去找FlashFirebug
https://addons.mozilla.org/zh-cn/firefox/addon/flashfirebug/
然后启用后发现还需要下载最新版的Flash Player调试版:
所以去
http://www.adobe.com/support/flashplayer/downloads.html
下载到:
- Download the Windows Flash Player 11.6 ActiveX control content debugger (for IE) (EXE, 15.7MB)
- flashplayer_11_ax_debug.exe
- Download the Windows Flash Player 11.6 Plugin content debugger (for Netscape-compatible browsers) (EXE, 16.3MB)
- flashplayer_11_plugin_debug.exe
都安装后,再去使用Firefox的Firebug。
结果是可以通过其查看当前检测出来的flash的:
但是很悲催的是,Firebug中捕获的Post数据,还是无法自动解码。
9.后来,貌似找到一点点眉目。
然后会打开对应地址:
www.cadastur.turismo.gov.br/cadastur/messagebroker/amf
然后会让你保存文件:amf
打开下载下来的amf文件,是:
很明显,不是对应的,从Chrome中拷贝出来的:
所以,还是搞错了。
10.貌似还只能是从Chrome中拷贝此amf数据出来,然后想办法,看看能否通过PyAMF去解码。