Ошибка 403 реферера не зарегистрирована Javascript с API
Я сделал скрипт, который собирает RSS-канал для некоторых объектов для EBAY. Я загружаю XML с feednami и использую API для конвертации долларов в евро. Это хорошо работает на местном, но когда я помещаю его на свой сайт, у меня возникает проблема..
У меня есть ошибка, которая говорит: {сообщение: "Имя хоста в заголовке реферера не зарегистрировано"} И ошибка 403 в заголовках.
И заголовок, когда я загружаю URL RSS с feednami:
**GENERAL
Request URL: URLHEERE
Request Method:GET
Status Code:403
Remote Address: xx
Referrer Policy:no-referrer-when-downgrade
RESPONSE HEADERS
access-control-allow-headers:Content-Type, X-Sekando-Session-Id, X-Sekando-Session-Secret
access-control-allow-origin:*
alt-svc:clear
content-length:68
content-type:application/json; charset=utf-8
date:Tue, 06 Mar 2018 14:00:37 GMT
etag:
status:403
strict-transport-security:max-age=16070400; preload
vary:Accept-Encoding
via:1.1 google
x-powered-by:Express
REQUEST HEADERS
:authority:api.feednami.com
:method:GET
:path:/api/v1.1/feeds/load?url=http%3A%2F%2Fwww.ebay.com%2Fsch%2Fi.html%3F_nkw%3Dfunko%2Bpop%2Biron%2Bman%2094%26_in_kw%3D1%26LH_Complete%3D1%26_ipg%3D5%26_rss%3D1
:scheme:https
accept:*/*
accept-encoding:gzip, deflate, br
accept-language:fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7
origin:http://frozensquid.fr
referer:http://frozensquid.fr/index2.php
user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.167 Safari/537.36**
Вот код JS:
$(document).ready(function() {
function getEurDoll(dollar){
var url = 'http://api.fixer.io/latest?base=USD&symbols=EUR';
fetch(url)
.then(res => res.json())
.then((out) => {
//console.log('Checkout this JSON! ', out);
eurDol=Number(out.rates.EUR);
//resultat=Number(dollar) * Number(eurDol);
//console.log(eurDol);
$('#res').html('Prix moyen sur entrées : ' +eurDol+'€');
})
.catch(err => { throw err });
}
var popf = 'iron man 94'
var max = 10;
var popf= popf.replace(' ','+'); //remplacer les espaces par des + pr mettre ds l'url de recherche
var url0 = 'http://www.ebay.com/sch/i.html?_nkw=funko+pop+';
var url1= '&_in_kw=1&LH_Complete=1&_ipg=5&_rss=1';
var url=url0.concat(popf).concat(url1); //url finale
var prix = 0;
var nb=0;
feednami.load(url,function(result){ //Utile pour parser le XML
let urlDevises ='http://api.fixer.io/latest?base=USD&symbols=EUR'; //Retourne le change DOLLars > euro
fetch(urlDevises)
.then(res => res.json())//recup le json
.then((out) => {
eurDol=Number(out.rates.EUR);//1€ = ?$
if(result.error) { //si erreyr alors on le met dans la console (F12)
console.log(result.error);
} else {
var entries = result.feed.entries;
if(!isNaN(max)) { //Si max est un chiffre
nb = max; //On affiche autant denchére
} else nb=entries.length; //sinon on affiche tout
for(var i = 0; i < nb; i++){
var entry = entries[i];
//console.dir(entry);
prix=Number(prix) + Number(entry['rx:currentprice']['#']); //le prix = prix + nouveau prix
link=entry['link']; //récup lien
title=entry['title'];//récup titre
show='<li><a href='+link+'>'+title+' ( '+entry['rx:currentprice']['#']/100+' )</a><br></li>'; //Forme txt html
$('#show').append(show);//On le met dans la balise ayant l'id show
}
}
var moyenne = (prix/100) / nb;//Calcul de la moyenne
resultat=Number(moyenne) * Number(eurDol);//On convertit en euro
$('#res').html('Prix moyen sur '+nb+' entrées : ' +resultat.toFixed(2)+'€ ('+moyenne.toFixed(2)+'$)');//On met dans le tag ayant id res
})
.catch(err => { throw err }); //erreur récup de devises
});
});
У меня нет идей, чтобы решить эту проблему.. Вы можете увидеть сайт: http://frozensquid.fr/
Спасибо за помощь. Хорошего дня.
С уважением, Флориан
1 ответ
Очевидно, что вы должны зарегистрировать каждое имя хоста на сайте Feednami, чтобы иметь возможность запросить его.
Так что в вашем случае вы должны создать учетную запись на веб-сайте Feednami и зарегистрировать имя хоста ebay для работы с API feednami.