使用PHP和JS对小米主题商店下载地址解析

本文介绍了如何解析小米主题商店的主题下载地址,通过PHP和Jquery实现跨域请求获取JSON数据,从而得到真实的下载链接。用户输入主题详细页URL,程序会解析出下载地址并展示在页面上。
部署运行你感兴趣的模型镜像

小米主题商店地址:http://zhuti.xiaomi.com/

上面有灰常多的主题,虽然说下载下来也不能直接安装,但是里面的很多资源还是非常不错的,小米官方并没有提供直接下载的地址,下面说一下如何解析

访问一个主题链接,地址如下

  1. http://zhuti.xiaomi.com/detail/6c112791-5607-4242-b1a1-a2d6ca804544

这个地址detail后面的一串文本就是主题唯一标识,6c112791-5607-4242-b1a1-a2d6ca804544

GET访问如下的地址即可获取json数据

  1. http://thm.market.xiaomi.com/thm/download/v2/6c112791-5607-4242-b1a1-a2d6ca804544

其中的6c112791-5607-4242-b1a1-a2d6ca804544也就是要下载主题的唯一标识,访问地址会返回一个json数据

  1. {
  2. "apiCode": 0,
  3. "apiData": {
  4. "downloadUrl": "http://f1.market.xiaomi.com/download/ThemeMarket/09863840ef64c4d02209a5929d55d2bec9f82a6ee/åèè·³è·³é¹æºè´¢-1.0.0.0.mtz",
  5. "fileHash": "ed824ae8a458c0fabf796a7c0e7027b3c2e3cb67",
  6. "fileSize": 28708717
  7. }
  8. }

例子编写

数据已经很明白了,downloadUrl后的数据就是真实下载地址,那么下面使用代码编写一个小小的例子

PHP+Jquery

由于小米服务器返回是json非jsonp,所以不能使用ajax直接跨域请求,那么就需要结合PHP实现跨域请求数据了

首先创建一个PHP文件,作为访问请求,代码如下

  1. <?php
  2. if(isset($_GET['id']))
  3. {
  4. $url="http://thm.market.xiaomi.com/thm/download/v2/".$_GET['id'];
  5. $ch = curl_init($url);
  6. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  7. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);
  8. $result = curl_exec($ch);
  9. curl_close($ch);
  10. echo $result;
  11. }
  12. ?>

接着创建用户界面和响应代码

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <script type="text/javascript" src="js/jquery-3.2.1.min.js" ></script>
  6. <title></title>
  7. </head>
  8. <body>
  9. 请输入下载地址<input type="text" id="url" style="width: 50%" />
  10. <button id="go">解析</button>
  11. <div id="downurl">点击解析后这儿会显示下载地址</div>
  12. </body>
  13. <script>
  14. $('#go').click(function(){
  15. var value=$("#url").val();
  16. value=value.substring(31);
  17. $.getJSON("d.php",{id:value}, function(result){
  18. $("#downurl").html('<a href="'+result.apiData.downloadUrl+'">点击下载</a>');});
  19. });
  20. </script>
  21. </html>

jquery请自行引入,点击按钮后响应事件,获取图中文本框的值,然后进行文本截取,截取完成后使用jquery发送给php进行处理,接着将PHP返回的json解析,并且改变网页源码中的div,生成下载地址


您可能感兴趣的与本文相关的镜像

Facefusion

Facefusion

AI应用

FaceFusion是全新一代AI换脸工具,无需安装,一键运行,可以完成去遮挡,高清化,卡通脸一键替换,并且Nvidia/AMD等显卡全平台支持

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值