请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

如何确认查询字符串的数据来源?

该查询字符串中appd这个参数如何查找并确认其来源?通过appd在Network中未查询到相关的拼写,包括js文件等。

正在回答 回答被采纳积分+3

1回答

小布_老师 2025-03-29 09:17:33

https://img1.sycdn.imooc.com/szimg/26394a6709e747b014060800.jpg

其他参数都是常规参数,这里的appd格式特别像uuid格式,大概率就是。


https://img1.sycdn.imooc.com/szimg/8b80936709e7484d19500712.jpg

如果是这个,那基本上不好找。


在网页上,uuid一般是在js或者html上,这里写的是appd。


abc.com,这个查了下是澳大利亚广播公司,网址的显性参数有api,


所以这个appd,有可能是appid的意思,用uuid作为唯一性的标识字段。


直接用a4c3d9d4-6908-f011-bae2-001dd80beba1 在js代码和js文件中查找,也许找得到。


当然也有可能找不到,有可能不是写死在js文件内容,更有可能是通过接口调用到js参数中。


在console窗口,检查js对象,以及js参数中保存的值,也是需要看一下的。


查看window窗口下的所有绑定过的js变量和参数,

// 查看所有属性和值(包含浏览器内置属性)
console.log(window);

// 或过滤用户自定义的全局变量(需根据实际情况调整)
for (let key in window) {
  if (window.hasOwnProperty(key)) { // 过滤继承属性(可选)
    console.log(key, "=>", window[key]);
  }
}


0 回复 有任何疑惑可以回复我~
  • 提问者 niume #1
    谢谢老师的解答,这个地方的abc.com只是示例并非实际网站。目前上述参数appd的取值从sources中找到了,这个地方我没有选择强行还原整个取值过程,使用的是selenium动态加载完页面资源后,再直接模拟调用js相关函数自动获取相关参数取值,从而实现Network中接口的手动执行。此处还有一个疑问,如果不在相关页面(例如:abc.com/info/user)强制执行指定的js函数(假如此时js函数所需的参数信息均以自动获取),是否可以不在进入user页面的情况下模拟执行相关的js函数(例如此时的页面路径为:abc.com/info),这种方式有没有风险?会被检测到为非人为操作嘛
    回复 有任何疑惑可以回复我~ 2025-03-29 10:38:29
  • 小布_老师 回复 提问者 niume #2
    可以在不进入user页面的情况下模拟js函数执行。
    
    这种方式的风险还是有的,重点依旧是数据。
    
    在具体的页面上,需要加载的内容会自动加载,所以很多数据是有的。
    
    如果你完全研究透了页面的数据加载,你可以找到页面加载规则的顺序和数据来源,你完全可以绕过页面去执行js。
    
    在非页面情况下执行js函数的风险,还是数据的问题。
    
    js函数执行并获得返回,是一种特定的接口响应;页面加载,是一个网页响应+非常多个接口数据的响应;
    
    所以你可以这么做,但是要花你很多时间,特别是数据交互很多的页面,研究数据和页面还是很花时间的。
    回复 有任何疑惑可以回复我~ 2025-04-04 23:34:22
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号