通过修改星芒下载站所使用的浏览器UA,绕过百度网盘的限制
// ==UserScript==
// @name 星芒下载站辅助程序
// @namespace https://Star-Search.cn/
// @version 1.4
// @description 通过修改星芒下载站所使用的浏览器UA,绕过百度网盘的限制
// @icon https://logo.star-search.cn/logo.ico
// @author 胡黄成霖
// @match https://pan.star-search.cn/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// 保存原始方法
const originalFetch = window.fetch;
const originalXhrOpen = XMLHttpRequest.prototype.open;
// 修改 Fetch API 的请求头
window.fetch = function(...args) {
let url = args[0];
if (typeof url === 'string') {
url = new URL(url, location.href);
} else if (url instanceof Request) {
url = url.url;
}
if (url.hostname === 'pan.star-search.cn') {
if (args[0] instanceof Request) {
args[0].headers.set('User-Agent', 'pan.baidu.com');
} else {
const headers = new Headers(args[1]?.headers);
headers.set('User-Agent', 'pan.baidu.com');
args[1] = { ...args[1], headers };
}
}
return originalFetch.apply(this, args);
};
// 修改 XMLHttpRequest 的请求头
XMLHttpRequest.prototype.open = function(method, url) {
this.addEventListener('beforesend', function() {
if (new URL(url).hostname === 'pan.star-search.cn') {
this.setRequestHeader('User-Agent', 'pan.baidu.com');
}
});
return originalXhrOpen.apply(this, arguments);
};
})();