iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >如何根据接口开发web端进行app抓包
  • 197
分享到

如何根据接口开发web端进行app抓包

2024-04-02 19:04:59 197人浏览 八月长安
摘要

本篇文章为大家展示了如何根据接口开发WEB端进行app抓包,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。平时喜欢看某个做视频的app,最近app有bug,看着看着就

本篇文章为大家展示了如何根据接口开发WEB端进行app抓包,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

平时喜欢看某个做视频的app,最近app有bug,看着看着就会闪退,回到首页,反馈给官方,好久也不处理,于是自己抓包app的接口,直接用PHP开发个web版本的自己用.
首先抓包过程就不说了,我的另一篇博客有详细介绍:
Charles抓包https,Http
先看一下web的界面:
如何根据接口开发web端进行app抓包
如何根据接口开发web端进行app抓包
其实就两个页面,非常简单,下面贴一下代码,链接都去掉了,以免被坏人利用:

<?php
ini_set('date.timezone','Asia/Shanghai');
header("Content-Type:text/html;Charset=utf8");

if(isset($_GET['type'])){
    $type = $_GET['type'];
}
//判断类型
if(empty($type)){
    $url_sort = 'day';
    $type=1;
}else{
    if($type==1){
        $url_sort = $_GET['sort'];
    }else{
        $catid = $_GET['cat'];
    }
}

//JSON数组方法
function toarray($url){
    $url = $url;
    $json_str = file_get_contents($url);
    $list = json_decode($json_str,true);
    return $list;
}

    //获取所有分类
    $url = "#######";
    $list = toarray($url);
    for($a=3;$a<count($list['itemList']);$a++){
        $cates[$a]['id'] = $list['itemList'][$a]['data']['id'];
        $cates[$a]['title'] = str_replace('#','',$list['itemList'][$a]['data']['title']);
    }
    // echo "<pre>";
    // print_r($cates);exit;

//排行视频
if ($type==1) {

    switch ($url_sort)
    {
        case "day":
          $url = "#######";
          break;  
        case 'week':
          $url = "#######";
          break;
        case 'month':
          $url = "#######";
          break;
        case 'zong':
            $url = "######l";
            break;
    }
    if($url_sort=='day'){
        //每日精选
        $list = toarray($url);
        for($i=1;$i<count($list['itemList']);$i++){
            if(!empty($list['itemList'][$i]['data']['content'])){
                $res_list[$i]['id'] = $list['itemList'][$i]['data']['content']['data']['id'];
                $res_list[$i]['title'] = $list['itemList'][$i]['data']['content']['data']['title'];
                $res_list[$i]['img'] = $list['itemList'][$i]['data']['content']['data']['cover']['feed'];
                $res_list[$i]['time'] = date("Y-m-d",str_replace("000","",$list['itemList'][$i]['data']['header']['time']));
                $res_list[$i]['tag']  = "";
                $tags_arr = $list['itemList'][$i]['data']['content']['data']['tags'];
                foreach ($tags_arr as $ktag => $vtag) {
                    $res_list[$i]['tag'] .= $vtag['name']." "; 
                }
            }

        }

    }else{
        //周,月,总排行
        $list = toarray($url);
        for($i=0;$i<count($list['itemList']);$i++){
                $res_list[$i]['id'] = $list['itemList'][$i]['data']['id'];
                $res_list[$i]['title'] = $list['itemList'][$i]['data']['title'];
                $res_list[$i]['img'] = $list['itemList'][$i]['data']['cover']['feed'];
                $res_list[$i]['time'] = date("Y-m-d",str_replace("000","",$list['itemList'][$i]['data']['releaseTime']));
                $res_list[$i]['tag']  = "";
                $tags_arr = $list['itemList'][$i]['data']['tags'];
                foreach ($tags_arr as $ktag => $vtag) {
                    $res_list[$i]['tag'] .= $vtag['name']." "; 
                }

        }
    }
    $res = $res_list;
}elseif($type==2){
    //分类
    if(empty($_GET['page'])){
        $page = 1;
    }else{
        $page = $_GET['page'];
    }
    $num = 20;
    $start = ($page-1)*$num;
    $url = "http://####?limit={$start}&num={$num}&id={$catid}";
    $list = toarray($url);
        for($i=0;$i<count($list['itemList']);$i++){
                $res_list[$i]['id'] = $list['itemList'][$i]['data']['id'];
                $res_list[$i]['title'] = $list['itemList'][$i]['data']['title'];
                $res_list[$i]['img'] = $list['itemList'][$i]['data']['cover']['feed'];
                $res_list[$i]['time'] = date("Y-m-d",str_replace("000","",$list['itemList'][$i]['data']['releaseTime']));
                $res_list[$i]['tag']  = "";
                $tags_arr = $list['itemList'][$i]['data']['tags'];
                foreach ($tags_arr as $ktag => $vtag) {
                    $res_list[$i]['tag'] .= $vtag['name']." "; 
                }

        }
    $res = $res_list;

}else{
    die("写错了您嘞!!!");
}

include("index_extend.html");

?>

html文件代码:

<!DOCTYPE html>
<html>
<head>
    <title>web版本</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="./layui/CSS/layui.css"  media="all">
    <!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
    <!--[if lt IE 9]>
      <script src="https://cdn.staticfile.org/HTML5shiv/r29/html5.min.js"></script>
      <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->   
    <style type="text/css">
        #div1{ 
            position:fixed; 
            top:0; 
            left:0; 
            bottom:0; 
            right:0; 
            z-index:-1; 
            } 
        #div1 > img { 
            height:100%; 
            width:100%; 
            border:0; 
        } 
        .one:hover{
            box-shadow: 5px 5px 5px #a6a6a6;
        }
        .layui-breadcrumb a {
            color: #fff!important;
            font-size: 18px
        }
        .page:hover{
            font-size:15px;
        }
    </style>
</head>
<body >
<div id="div1"><img src="bg.jpg" /></div> 

<div class="layui-row"  >
     <span class="layui-breadcrumb" lay-separator="|" >
        <a href="#">视频排行:</a>
  <a href="./index.php?type=1&sort=day">日排行</a>
  <a href="./index.php?type=1&sort=week">周排行</a>
  <a href="./index.php?type=1&sort=month">月排行</a>
  <a href="./index.php?type=1&sort=zong">总排行</a>

</span>
<br/><br/>
  <span class="layui-breadcrumb" lay-separator="|" >
    <a href="#">分类:</a>
    <?php foreach($cates as $kcat => $vcat){ ?>
    <a href="./index.php?type=2&cat=<?php echo $vcat['id']; ?>"><?php echo $vcat['title']; ?></a>
    <?php } ?>
</span>
</div>

<div class="layui-row" >

    <?php foreach($res as $k => $v){ ?>

    <div onclick="location='./detail.php?id=<?php echo $v['id'] ?>'" class="layui-col-xs12 layui-col-sm6 layui-col-md3" >
        <div class="one" >
            <div >
                <img  width="100%" height="100%"  src="<?php echo $v['img']; ?>">
            </div>
            <div ><?php echo $v['title']; ?>
            <br/><?php echo $v['time']; ?>
            <br/><?php echo $v['tag']; ?>
          </div>
        </div>
    </div>

    <?php } ?>

</div>
<div class="layui-row"  >
    <?php 
        if(isset($_GET['page'])){?>
<a href="./index.php?type=2&cat=<?php echo $_GET['cat']; ?>&page=<?php echo $_GET['page']-1; ?>" class="page" >上一页</a>
        <?php }else{
        $_GET['page']=1;
    }

        ?>
    <?php if($type==2){?>
    <a href="./index.php?type=2&cat=<?php echo $_GET['cat']; ?>&page=<?php echo $_GET['page']+1; ?>" class="page" >下一页</a>
    <?php }?>
</div>
<script src="./layui/layui.js" charset="utf-8"></script>
<script>
layui.use('element', function(){
  var element = layui.element; //导航的hover效果、二级菜单等功能,需要依赖element模块
});
</script>
</body>
</html>

详情页的php代码:

<?php
ini_set('date.timezone','Asia/Shanghai');
header("Content-Type:text/html;Charset=utf8");

if(isset($_GET['id'])){
    $id = $_GET['id'];
}

//json转数组方法
function toarray($url){
    $url = $url;
    $json_str = file_get_contents($url);
    $list = json_decode($json_str,true);
    return $list;
}

$url = "http://######";
$list = toarray($url);

if(!empty($list['playInfo'][1]['urlList'][0]['url'])){
    $list['playUrl'] = $list['playInfo'][1]['urlList'][0]['url'];
}
// echo '<pre>';
// print_r($list);exit;

include("detail.html");

?>

详情页的html代码:

<!DOCTYPE html>
<html>
<head>
    <title><?php echo $list['title']; ?></title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="./layui/css/layui.css"  media="all">
    <script type="text/javascript" src="//cytroncdn.videojj.com/latest/cytron.core.js"></script>
    <!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
    <!--[if lt IE 9]>
      <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
      <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->   
    <style type="text/css">
        #div1{ 
            position:fixed; 
            top:0; 
            left:0; 
            bottom:0; 
            right:0; 
            z-index:-1; 
            } 
        #div1 > img { 
            height:100%; 
            width:100%; 
            border:0; 
        } 
    </style>
</head>
<body >
<div id="div1"><img src="bg.jpg" /></div> 

<div class="layui-row" >

    <div class="layui-col-xs12 layui-col-sm12 layui-col-md12" >
        <div class="one" >
            <div ><h3><?php echo $list['title']; ?></h3><br/>
            <h4><?php echo $list['description']; ?></h4></div>
          <div id="parent" >

            </div>

        </div>
    </div>

</div>

<script src="./layui/layui.js" charset="utf-8"></script>
<script type="text/javascript">
        var ivaInstance = new Iva(
            'parent',//父容器id
            {
                appkey: #####',//必填,请在控制台查看应用标识
                video: "<?php echo $list['playUrl']; ?>",//必填,播放地址(例如:http://v.youku.com/v_show/id_XMTY5NDg2MzY5Ng==.html)
                title: "<?php echo $list['title']; ?>",//选填,建议填写方便后台数据统计
                cover: "<?php echo $list['coverForFeed']; ?>",//选填,视频封面url
                playerUrl: '', //选填,第三方播放器与Video++互动层的桥接文件,由Video++官方定制提供,默认为空
                videoStartPrefixSeconds: 0,//选填,跳过片头,默认为0
                videoEndPrefixSeconds: 0,//选填,跳过片尾,默认为0
                
                skinSelect: 0,//选填,播放器皮肤,可选0、1、2,默认为0,
                autoplay: true,//选填,是否自动播放,默认为false
                rightHand: false,//选填,是否开启右键菜单,默认为false
                autoFORMat: true,//选填,是否自动选择最高清晰度,默认为false
                bubble: false,//选填,是否开启云泡功能,默认为true
                jumpStep: 10,//选填,左右方向键快退快进的时间
                tagTrack: false,//选填,云链是否跟踪,默认为false
                tagShow: false,//选填,云链是否显示,默认为false
                tagDuration: 5,//选填,云链显示时间,默认为5秒
                tagFontSize: 16,//选填,云链文字大小,默认为16像素
                editorEnable: false, // 选填,当用户登录之后,是否允许加载编辑器,默认为true
                vorEnable: false, // 选填,是否允许加载灵悟,默认为true
                vorStartGuideEnable: false //选填, 是否启用灵悟新人引导,默认为true
            }
        );
    </script>
</body>
</html>

ok,到此结束

上述内容就是如何根据接口开发web端进行app抓包,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网node.js频道。

--结束END--

本文标题: 如何根据接口开发web端进行app抓包

本文链接: https://www.lsjlt.com/news/82909.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何根据接口开发web端进行app抓包
    本篇文章为大家展示了如何根据接口开发web端进行app抓包,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。平时喜欢看某个做视频的app,最近app有bug,看着看着就...
    99+
    2024-04-02
  • 如何使用fiddler对手机APP进行抓包
    这篇文章主要讲解了“如何使用fiddler对手机APP进行抓包”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用fiddler对手机APP进行抓包”吧!fiddler手机抓包原理在本机开...
    99+
    2023-06-05
  • 如何使用Vconsole和Fillder进行移动端抓包调试
    这篇文章主要为大家展示了“如何使用Vconsole和Fillder进行移动端抓包调试”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用Vconsole和Fi...
    99+
    2024-04-02
  • Vue Element前端应用开发之根据ABP后端接口实现前端展示
    目录概述1、ABP接口和前端对接处理2、ABP接口信息和前端界面处理概述 ABP(ASP.NET Boilerplate)框架主要是基于.net core 进行的后端Web API的...
    99+
    2024-04-02
  • 如何开始使用C++进行Web开发?
    要使用 c++++ 进行 web 开发,需要使用支持 c++ web 应用程序开发的框架,如 boost.asio、beast 和 cpp-netlib。开发环境中,需要安装 c++ 编...
    99+
    2024-05-11
    c++ web开发 git
  • web开发如何进行单元测试
    这篇文章主要介绍“web开发如何进行单元测试”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“web开发如何进行单元测试”文章能帮助大家解决问题。软件软件是可以改变的。...
    99+
    2024-04-02
  • Django如何使用PHP进行Web开发?
    Django和PHP都是非常流行的Web开发框架,但是它们之间的语言和代码结构存在很大的差异。如果你已经熟悉了Django,并且对PHP也有一定的了解,你可能会想知道如何在Django中使用PHP进行Web开发。在本文中,我们将探讨这个问题...
    99+
    2023-09-30
    path django apache
  • ASP.NET Web开发中如何进行数据输入窗体
    这期内容当中小编将会给大家带来有关ASP.NET Web开发中如何进行数据输入窗体,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Web框架要达到快速开发,又便于维护,进行了一系列的努力。请看最初始的ASP...
    99+
    2023-06-17
  • 前端如何调用后端接口进行数据交互(极简)
    前端调用后端接口,获得数据并渲染 一、介绍 一个完善的系统,前后端交互是必不可少的,这个过程可以分成下面几步: 前端向后端发起请求后端接口接收前端的参数后,开始层层调用方法处理数据后端将最终数据返回给...
    99+
    2023-09-07
    前端 java javascript
  • python如何使用libpcap库进行抓包及数据处理
    今天小编给大家分享一下python如何使用libpcap库进行抓包及数据处理的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。p...
    99+
    2023-07-04
  • 如何用autossh工具进行端口转发
    这期内容当中小编将会给大家带来有关如何用autossh工具进行端口转发,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。AutoSSH 是一种用以对 SSH 登录进行安全地自动化的软件。比如我们在 host2...
    99+
    2023-06-15
  • 选择合适的GolangIDE:如何根据开发需求进行对比?
    Golang是一种强大且高效的编程语言,逐渐在开发者中变得越来越受欢迎。而选择一个适合自己开发需求的Golang集成开发环境(IDE)是至关重要的。本文将对比几个常用的GolangIDE,帮助你选择最适合你的...
    99+
    2024-01-16
    IDE Golang 对比
  • 如何进行App开发方式的优劣分析
    这篇文章将为大家详细讲解有关如何进行App开发方式的优劣分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。App混合开发(英文名:Hybrid App),是指在开发一款App产品的时候为了提...
    99+
    2023-06-05
  • 如何进行小程序定制开发和APP开发相比较
    如何进行小程序定制开发和APP开发相比较,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一说起微信小程序开发,很多人的第一印象就是微信上的衍生应用软件。而且现如今...
    99+
    2023-06-05
  • Golang开发建议:如何进行高效的接口设计
    Golang是一门开发效率高、并发能力强的编程语言,尤其适合构建高性能的服务和应用。在进行Golang开发时,良好的接口设计是非常重要的,它能够提高代码的可读性、可维护性和可测试性,同时也能够提升团队开发效率。本文将会介绍一些关于如何进行高...
    99+
    2023-11-23
    Golang开发建议 Golang接口设计 高效接口设计
  • 如何进行.NET 的WebSocket开发包比较
    如何进行.NET 的WebSocket开发包比较,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Web项目常常需要将数据尽可能快地推送给客户,必要时无需等待客户端请求。对于与用户...
    99+
    2023-06-17
  • 如何进行Java和Python的Web开发分析
    今天就跟大家聊聊有关如何进行Java和Python的Web开发分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在Java里面有一种服务端的软件组件技术,叫做Servlet,其实它的...
    99+
    2023-06-04
  • Python IDE中如何使用Django进行Web开发?
    Python是一门非常流行的编程语言,广泛应用于各个领域。在Web开发领域,Python也有着非常强大的工具和框架。其中,Django是最受欢迎的Python Web框架之一。在本文中,我们将探讨如何在Python IDE中使用Django...
    99+
    2023-07-31
    ide django numy
  • 前端如何调用后端接口进行数据交互详解(axios和SpringBoot)
    目录一、介绍二、项目结构三、代码编写四、运用总结前端调用后端接口,获得数据并渲染 一、介绍 一个完善的系统,前后端交互是必不可少的,这个过程可以分成下面几步: 前端向后端发起请求后端...
    99+
    2023-03-19
    前端和后端怎么进行数据交互的 前端如何调用后端数据 前端与后端接口的交互案例
  • 如何使用AJAX进行WEB应用程序开发
    这篇文章主要为大家展示了“如何使用AJAX进行WEB应用程序开发”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用AJAX进行WEB应用程序开发”这篇文章吧...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作