Ошибка 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.

Другие вопросы по тегам