chrome_php logger 的实现原理

chrome_php是什么

 

1、chrome_php 是什么?

一款 Chrome 下用来配合调试 PHP 的工具,可以通过,console来查看php的信息

 

1.2用法

  用法特别简单,有一个chrome_php.php 文件  和 chrome Logger的扩展  下载地址http://craig.is/writing/chrome-logger

include 'chrome_php.php';
$array = array(
	"Action"  => "Recoverdownload",
   "Data"   => array(
   		array(
   			"AuthorName" => "吴孟恩",
   			"FileName"       =>  "西游.ebk3",
   			"FileId"             => "10058011",
   			"Type"     =>  1,
   	),
   	array(
   			"AuthorName" => "心梦无痕",
   			"FileName"       =>  "七界传说.ebk3",
   			"FileId"             => "10058011",
   			"Type"     		  =>  2,
   	),
   ),
);
ChromePhp::log($array);

在浏览器里面 点击chrome logger 使其变亮 在console.log可以看到如下的结果

 

 

 

2、chrome是怎么实现的呢,带着好奇心就看了看

通过追踪 log函数
 log()  =>  _log() => _addRow() => _writeHeader()

找到重点了 把要输出数据 通过header 头进行了输出 

 protected function _writeHeader($data)
{
        header(self::HEADER_NAME . ': ' . $this->_encode($data));//base64_encode(utf8_encode(json_encode($data)));  
}

  

2.2 查看谷歌调试工具里的 http请求

 有如下数据,通过header把数据输出给客户端,

X-ChromeLogger-Data:eyJ2ZXJzaW9uIjoiNC4xLjAiLCJjb2x1bW5zIjpbImxvZyIsImJhY2t0cmFjZSIsInR5cGUiXSwicm93cyI6W1tbeyJBY3Rpb24iOiJSZWNvdmVyZG93bmxvYWQiLCJEYXRhIjpbeyJBdXRob3JOYW1lIjoiXHU1NDM0XHU1YjVmXHU2MDY5IiwiRmlsZU5hbWUiOiJcdTg5N2ZcdTZlMzguZWJrMyIsIkZpbGVJZCI6IjEwMDU4MDExIiwiVHlwZSI6MSwiRG93bmxvYWRVcmwiOiJodHRwOlwvXC9haDIuemhhbmd5dWUuY29tXC9yXC9kb3dubG9hZD90eXBlPTEmYmlkPTEwMDU4MDExJmNpZD0wJnByPTAmcHJpY2U9MiZmZWVVbml0PTEwIn0seyJBdXRob3JOYW1lIjoiXHU1ZmMzXHU2OGE2XHU2NWUwXHU3NWQ1IiwiRmlsZU5hbWUiOiJcdTRlMDNcdTc1NGNcdTRmMjBcdThiZjQuZWJrMyIsIkZpbGVJZCI6IjEwMDU4MDExIiwiVHlwZSI6MiwiRG93bmxvYWRVcmwiOiJodHRwOlwvXC9haDIuemhhbmd5dWUuY29tXC9yXC9kb3dubG9hZD90eXBlPTEmYmlkPTEwMDU4MDExJmNpZD0wJnByPTAmcHJpY2U9MiZmZWVVbml0PTEwIn1dfV0sIkU6XFx3YW1wXFx3d3dcXHRlc3QucGhwIDogNDgiLCIiXV0sInJlcXVlc3RfdXJpIjoiXC90ZXN0LnBocCJ9

2.3  JS是怎么获取的呢

 

调试工具 --> sources --> content script -->noaneddfkdjfnfdakjjmocngnfkfehhd (chrome logger 的ID号) --》log.js-->241行  

chrome . extension . sendMessage ( 'ready' , function ( queuedRequests ) {
if ( queuedRequests ) {

如图所示  

 

 

HTTP header 可以通过 chrome 扩展获取到!!!

 

 

转载于:https://www.cnblogs.com/fengwei/p/3203965.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值