前言

在做js(electron)版本的蓝奏解析时,发现要修改referer发送请求,但是chrome内核不允许这样做

开始

依赖: ipcMain,ipcRenderer

在主进程创建窗口后添加:

1
2
3
4
5
6
ipcMain.on('lanzou',(event,args) => {
session.defaultSession.webRequest.onBeforeSendHeaders({urls: ["*://*/*"]}, (details, callback)=> {
details.requestHeaders['referer'] = args;
callback({requestHeaders: details.requestHeaders});
});
});

在渲染进程内添加:

1
ipcRenderer.send('lanzou',url);

注: lanzou是通讯的key,可以替换

*://*/*是匹配的url 可修改

此方法会影响其他子进程,不过影响不大,主要看你改了啥,如果只是refererua应该不会又啥影响