您的位置:首页 > 移动开发 > Android开发

Android 通过代理程序抓取请求数据

2012-04-18 09:12 295 查看
有时候,对于一些应用程序,我们需要了解其获取数据的API,例如对于Google Reader这样的应用程序,由于官方没有给出API,网上能找到的文档也很少,这时候要了解其API就可以对官方或非官方应用进行一点hack。对于网络应用,一般用代理来抓取数据即可,不过前提是数据没有加密的情况。

下面简单介绍一下具体的步骤

一、准备条件

1、代理程序,可以记录程序的请求和服务器的返回信息,目前一般应用走的都是HTTP协议,因此,只需要一个HTTP代理程序即可,这里使用的模拟器是一段java代码,放在附件里

2、设置我们的设备或者模拟器,让其网络访问都走我们的代理

二、具体操作,这里以浏览器为例子

1、首先启动我们的代理服务程序





2、启动模拟器,用http代理的方式启动,

点击(此处)折叠或打开

D:\Develop\Android\android-sdk-windows\tools>emulator.exe -avd
G1 -http-proxy 19

2.168.1.101:808

-avd参数是指定模拟器的名称,也就是你在Android Virtual Device Manager里新建设备的名字,

-http-proxy指定http代理,192.168.1.101是我本机IP,端口是上面的代理程序的端口.

3、打开浏览器输入www.baidu.com

这时候就可以看到数据了







可以看到浏览器向百度服务器请求的资源,对于其他应用同样也可以这样查看其访问资源的过程

也可通过java HttpProxy >>data.txt,将输出记载下来,后面慢慢进行分析

4、声明

这个途径只是用来研究应用接口设计,不要以此来模仿和抄袭他人应用,甚至制造外挂程序,请支持原创!

附件附上



proxy.rar


编译代码后,用java HttpProxy启动即可,也可以自己在main方法里修改端口。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: