当前位置: 首页 > news >正文

拼车网站的建设雨实现wordpress自定义页面模板

拼车网站的建设雨实现,wordpress自定义页面模板,主色调为绿色的网站,新余网站建设找谁做目标#xff1a;中国空气质量在线监测分析平台|城市分析 参考CSDN中文章#xff0c;记录一下学习过程通过切换城市#xff0c;页面数据是通过 Ajax 加载的#xff0c;数据接口#xff1a;https://www.aqistudy.cn/apinew/aqistudyapi.php请求的POST Data、返回的数据都被加…目标中国空气质量在线监测分析平台|城市分析 参考CSDN中文章记录一下学习过程通过切换城市页面数据是通过 Ajax 加载的数据接口https://www.aqistudy.cn/apinew/aqistudyapi.php 请求的POST Data、返回的数据都被加密了分析网站接口的加密逻辑js加密的一般处理思路加密url或某个post data参数时可以全局搜索对应的参数名或者值确定js函数整个post data加密或无法搜索到参数可通过元素的事件监听确定js函数1. 这里搜索参数名 d 显然不现实当我们点击切换城市或者搜索按钮之后后台便会发出 Ajax 请求说明这个点击动作是被监听的所以我们可以找一下这个点击事件对应的处理代码在哪里这里可以借助于 Firefox 来实现它可以分析页面某个元素的绑定事件以及定位到具体的代码在哪一行切换城市or点击搜索2.发现绑定的 click 事件调用了 getData() 函数显然是获取数据的js搜索这个函数在 city_detail.html 的第 463 行就找到了这个函数的声明3.发现它又调用了 getAQIData() 和 getWeatherData() 这两个方法的声明就紧挨在下面再进一步分析发现这两个方法都调用了 getServerData() 这个方法并传递了参数 method、param 还有一个回调函数很明显是对返回数据进行处理的这说明 Ajax 请求就是由这个 getServerData() 方法发起的如图所示4.继续搜索这个函数 getServerData() city_detail.html 中的是上面两个方法调用了 getServerData() 这个文件里面并没有getServerData() 的声明貌似在 https://www.aqistudy.cn/js/jquery-1.8.0.min.js?v1.2 中 右键 选择在Sources中打开继续搜果然找到了发现这里经过 JavaScript 混淆加密了这个方法名后面怎么直接跟了一些奇怪的字符串而且不符合一般的 JavaScript 写法而且这行代码的开头为eval(function(p,a,c,k,e,d)这种形式。5.利用在线反混淆网站http://www.bm8.com.cn/jsConfusion/将 jquery-1.8.0.min.js 中这行 eval 开头的混淆后的 JavaScript 代码复制一下然后粘贴到这个网站中进行反混淆就可以看到正常的 JavaScript 代码了搜索一下就可以找到 getServerData() 方法了可以看到这个方法确实发出了一个 Ajax 请求请求了Ajax 加载的数据接口在这里发现了一个getParam()方法它接受了 method 和 object 参数然后返回得到的 param 结果就作为加密后的 POST Data也就是d后面的那一堆字符串这里面还有一个decodeData()方法对服务器传回的数据进行解密6.还是在这一堆反混淆代码中紧挨着上面代码找到了getParam()和decodeData()其中 POST Data 的加密过程是 Base64 AES 加密Response Data 的解密是 AES DES Base64 解密代码PyExecJS 是一个可以使用 Python 来模拟运行 JavaScript 的库pip install PyExecJS还需安装JS运行环境推荐安装 Node.js Go~不需要用 Python 重写一遍 JavaScript直接用 Python 来模拟运行 JavaScript 就好将刚才反混淆的 JavaScript 保存成一个文件叫做 encryption.js然后用 PyExecJS 模拟运行相关的方法即可。首先我们来实现加密过程这里 getServerData() 方法其实已经帮我们实现好了并实现了 Ajax 请求但这个方法里面有获取 Storage 的方法Node.js 不适用所以这里不用它也别管他 添加一个 getEncryptedData() 方法实现加密在 encryption.js 最后面加入一段代码实现如下方法function getEncryptedData(method, city, type, startTime, endTime) {var param {};param.city city;param.type type;param.startTime startTime;param.endTime endTime;return getParam(method, param); }用于传递数据调用参数加密函数接下来用python模拟执行这些方法即可import execjs import json import requests# Init environment # 通过 execjs即 PyExecJS的 get() 方法声明一个运行环境 node execjs.get()# Params # 换成GETCITYWEATHER获取温度风向等数据 method GETDETAIL city 重庆 type HOUR start_time 2019-09-06 00:00:00 end_time 2019-09-06 12:00:00# Compile javascript file encryption.js # 调用 compile() 方法来执行刚才保存下来的加密库 encryption.js执行一遍才能调用 with open(file, encoding(utf-8)) as f:ctx node.compile(f.read())# Get params # 调用一下 JavaScript 中的 getEncryptedData() 方法即可实现加密 # 通过 eval() 方法来模拟执行得到的结果赋值为 params这个就是 POST Data 的加密数据 js getEncryptedData({0}, {1}, {2}, {3}, {4}).format(method, city, type, start_time, end_time) params ctx.eval(js)# Get encrypted response text url https://www.aqistudy.cn/apinew/aqistudyapi.php response requests.post(url, data{d: params})# Decode data # 调用一下 JavaScript 中的 decodeData() 方法即可实现解密 js decodeData({0}).format(response.text) decrypted_data ctx.eval(js)data json.loads(decrypted_data) res data.get(result).get(data).get(rows) for i in res:print(i)method GETDETAIL 可以获得aqi空气质量指数pm2.5 等数据换成GETCITYWEATHER 可以获取温度风向等数据Githubhttps://github.com/Ingram7/AQI
http://www.zqtcl.cn/news/599593/

相关文章:

  • wordpress多语言企业网站网页制作工具按其制作方式有几种类型
  • 2019年做网站还有机会吗wordpress 虚拟订阅插件
  • 网站都有后台吗怀柔网站建设
  • phpcms 图片网站免费商城网站建设
  • 网站虚拟主机租用中铁建设门户网登录初始密码
  • 网站哪个公司做的好网站建设与管理指什么软件
  • 提升学历要多少钱seo关键字优化技巧
  • 代理会计公司网站模版哪家培训机构学校好
  • 开江建设局网站怎么做让自己的网站
  • 个人建设网站要钱吗专门用来制作网页的软件是什么
  • 关键词挖掘站网seo点击软件手机
  • 建设局考试通知文件网站推广普通话的手抄报
  • 移动端网站排名海淀区seo引擎优化多少钱
  • 福田网站建设联系电话免费开商城网站吗
  • 网站备案本人承诺备案 网站建设方案书
  • 图片网站模板wordpress首页模板文件
  • 做外国网站怎么买空间网站策划方案ppt
  • 网站建设全网推广小程序外贸网站建设980
  • 具有营销价值好的网站常德农科院网站
  • 网站域名如何起男女直接做的视频上那个网站
  • 免费创建手机网站上海网站设计建设
  • 校园网站建设招标公告网站开发常用问题
  • 信息公开和网站建设工作总结开网站建设公司赚钱吗
  • 恋月wordpress主题优化大师兑换码
  • 河南省住房和城乡建设厅网站查证网页设计大赛海报
  • 莱芜金点子信息港厂房出租国内正规seo网络推广
  • 番号网 wordpressseo搜索排名影响因素主要有
  • 网站后台开发语言中山市网站建设
  • 可以免费下源码的网站石家庄市里的网站公司
  • wordpress的别名获得页面的别名优化大师电视版