获取安全微伴数据

获取安全微伴数据,便于python一键刷课

  1. // ==UserScript==
  2. // @name 获取安全微伴数据
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description 获取安全微伴数据,便于python一键刷课
  6. // @author kalicyh
  7. // @license MIT
  8. // @match https://weiban.mycourse.cn/*
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14.  
  15. let originalOpen = XMLHttpRequest.prototype.open;
  16. let originalSend = XMLHttpRequest.prototype.send;
  17. let originalSetRequestHeader = XMLHttpRequest.prototype.setRequestHeader;
  18.  
  19. let capturedToken = null; // Variable to store the captured X-Token
  20.  
  21. // 替换open方法以捕获请求的URL和方法
  22. XMLHttpRequest.prototype.open = function(method, url) {
  23. this._method = method; // 保存请求方法
  24. this._url = url; // 保存请求URL
  25. originalOpen.apply(this, arguments);
  26. };
  27.  
  28. // 替换setRequestHeader以捕获X-Token
  29. XMLHttpRequest.prototype.setRequestHeader = function(header, value) {
  30. if (header === 'X-Token') {
  31. capturedToken = value;
  32. console.log("Captured X-Token:", value);
  33. }
  34. originalSetRequestHeader.apply(this, arguments);
  35. };
  36.  
  37. // 替换send方法,以便在发送请求时捕获负载数据
  38. XMLHttpRequest.prototype.send = function(data) {
  39. if (this._method && this._method.toLowerCase() === 'post') {
  40. this.addEventListener('load', function() {
  41. if (this._url && this._url.indexOf('listCategory.do?timestamp') !== -1) {
  42. var message = 'Captured X-Token: ' + (capturedToken || 'None') + '\n' + 'POST Payload Data:\n' + data;
  43.  
  44. // 创建文本区域并设置文本
  45. var textArea = document.createElement('textarea');
  46. textArea.style.width = '100%';
  47. textArea.style.height = '100px';
  48. textArea.value = message;
  49.  
  50. // 创建弹窗容器
  51. var popupContainer = document.createElement('div');
  52. popupContainer.appendChild(textArea);
  53.  
  54. // 创建弹窗
  55. var popup = window.open('', '_blank', 'width=400,height=300');
  56. popup.document.body.appendChild(popupContainer);
  57. }
  58. }, false);
  59. }
  60. originalSend.apply(this, arguments);
  61. };
  62. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址