如何在Chrome扩展程序中的背景js中将网站cookie嵌入到请求标头中

时间:2019-09-10 02:06:32

标签: google-chrome cookies google-chrome-extension

我具有用于从AWS产品页面获取数据的扩展程序。 例如:https://sellercentral.amazon/gp/site-metrics/load-report-JSON.html/ 我必须在带有标头的background.js上使用GET参数发送此请求。 上一次,我已在inject.js文件上发送了此请求。而且有效。 但是由于新规则(CORS),它不再起作用。 因此,我必须在background.js上发送此请求。 当我发送此请求时,应该有包含cookie和其他值的标头。 但是我无法在请求标头上设置cookie,因此不会返回正确的响应数据。 如果您对这些问题和解决方案有任何经验,请告诉我。

 var myheaders= new Headers({
        'Accept': 'application/json', 
                'Content-Type': 'application/json', 
        "Accept-Encoding" : "gzip, deflate, br",
        "Accept-Language" : "en-US,en;q=0.9",
        "Connection" : "keep-alive",
        "Cookie" : cookieString,
        "Host" : "sellercentral.amazon.com",
        'Referer': 'https://sellercentral.amazon.com/gp/site- 
         metrics/report.html',
        'Sec-Fetch-Mode': 'cors',
        'Sec-Fetch-Site': 'same-origin',
        'X-Requested-With': 'XMLHttpRequest',
});
var fetchOptions = {
    method: "GET",
    credentials: 'include',
    headers :myheaders
}
try {
        let response = await fetch(url,fetchOptions);
        console.log("response", response);
        if (response.status != 200) {
            console.log('Looks like there was a problem. Status Code: ' + 
            response.status);
            return {status: "error",data:""};
        }else{
            return {status: "success",data:response};
  }
} catch (e) {
    console.log('Fetch Error :-S', e);
        return {status: "error",data:""};
}

0 个答案:

没有答案