【问题标题】:electron - sending GET request with modified Referer header电子 - 发送带有修改的Referer标头的GET请求
【发布时间】:2020-08-17 07:55:48
【问题描述】:

在我的电子应用程序中,我需要发送一个包含修改后的 Referer 标头的请求。最好的方法是什么?

我尝试使用内置浏览器fetch api,但是设置Referer头失败。

const json = await fetch(api_url, {
  referrer: referer_url,
  headers: {
    "Referer": referer_url,
  },
  mode: "no-cors"
}).then(r => r.json());

电子 v3.0.6

【问题讨论】:

    标签: node.js xmlhttprequest electron fetch


    【解决方案1】:

    您需要在 Electron 中处理所有获取请求。例如:

    文件background.js(用于电子):

      const filter = {
        urls: ['https://*./*', 'http://*./*'],
      };
      session.defaultSession.webRequest.onBeforeSendHeaders(filter, (details, callback) => {
        if (details.url.startsWith(process.env.VUE_APP_API_SEFVER)) {
          details.requestHeaders['Origin'] = 'my-tools';
        } else {
          const url = new URL(details.url);
          details.requestHeaders['Origin'] = url.origin;
          if (!details.url.includes('//localhost')
            && details.requestHeaders['Referer']
            && details.requestHeaders['Referer'].includes('//localhost')) {
            details.requestHeaders['Referer'] = details.url;
          }
        }
        callback({ cancel: false, requestHeaders: details.requestHeaders });
      });
    

    【讨论】:

      猜你喜欢
      • 2011-09-20
      • 1970-01-01
      • 2015-02-22
      • 2022-07-27
      • 2013-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-18
      相关资源
      最近更新 更多