>백엔드 개발 >PHP 튜토리얼 >使用fiddler抓安卓APP数据包并调试PHP程序

使用fiddler抓安卓APP数据包并调试PHP程序

WBOY
WBOY원래의
2016-06-23 13:43:081011검색

我有个这样的需求

要在安卓APP向服务器发起请求的时候调试PHP程序。

把目标分解开来,大概步骤如下

调试PHP使用ECLIPSE+XDEBUG,而XDEBUG触发断点需要get方法传递一个参数或者设置一个COOKIE,我使用的是COOKIE的方法(我认为这种方法比较好)

也就是说,要想办法让APP发起请求的时候带着COOKIE信息,因为APP开发我不熟悉,所以只能想别的办法,我的办法就是HOOK到请求,然后添加上COOKIE值

刚刚好,fiddler除了可以抓取HTTP数据包的能力之外,他也可以修改请求和响应,我需要修改的就是请求。

使用fiddler修改请求的方法有两种,一种是下断点,然后修改请求头,第二种就是写脚本。我用的是第二种方法

在fiddler  的脚本文件中的 OnBeforeRequest方法里添加

        if (oSession.HostnameIs("192.168.1.7")) {
            oSession.oRequest.headers.Add("Cookie", "XDEBUG_SESSION=ECLIPSE_DBGP");
        }

这段代码的意思是 

如果请求的目标地址是192.168.1.7主机的画,就添加一个COOKIE  ,键为XDEBUG_SESSION,值为ECLIPSE_DBGP  ,这个是我使用eclipse触发PHP断电的时候需要的COOKIE信息,到此为止,我的需求就实现了


PS:如果用火狐调试配合ECLIPSE调试php的话可以使用一个 叫做  the  easiest xdebug的插件。


参考资料:http://www.cnblogs.com/tankxiao/archive/2012/04/25/2349049.html#ScriptEditCookie

http://xdebug.org/docs/remote

http://docs.telerik.com/fiddler/KnowledgeBase/FiddlerScript/ModifyRequestOrResponse




성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.