截获请求的查询字符串参数,存储该值并追加到重定向响应

Intercepting query string parameter for a request, store the value and append to a redirect response

提问人:Todd Jones 提问时间:11/11/2023 更新时间:11/11/2023 访问量:12

问:

使用 Chrome 扩展程序,我需要拦截请求站点 A 的查询字符串参数,存储该值并将其附加到站点 A 响应的重定向中。Chrome 正在执行原始重定向,而不是新重定向。感谢您的输入!

请看以下内容:

背景:.js

function getFromLocalStorage(key) {
  return new Promise((resolve) => {
    chrome.storage.local.get([key], (result) => {
      resolve(result[key]);
    });
  });
}

chrome.webRequest.onBeforeRequest.addListener(
   async function (details) {

    var queryParameter1 = url.searchParams.get('state');
    var queryParameter2 = url.searchParams.get('code');
   
    if(queryParameter1!=null)  { chrome.storage.local.set({ "interceptedParameter": queryParameter1 });}

    if(queryParameter2!= null) {
      console.log("queryParameter2: " + queryParameter2);
    
     const interceptedParameter = await getFromLocalStorage("interceptedParameter");
     const redirectUrl = "https://example.com/new-redirect-url" + "?interceptedParameter=" + interceptedParameter;
   
     console.log("Modified URL "+ redirectUrl)

      return { redirectUrl: redirectUrl };
    }

    // Continue with the request
    return { cancel: false };
  },
  { urls: ["<all_urls>"], types: ["main_frame"] },
  ["blocking"]
);

从原始请求追加查询字符串参数并将其追加到重定向 resposne。

谷歌浏览器

评论


答: 暂无答案