我具有用于从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:""};
}