Autor Zpráva
Anonymouz
Profil *
Zdar lidi,
stáhl jsem si tuto RSS čtečku, která vypadá parádně. Problém je s tím, že když změním url, například na RSS například na novinky.cz rubrika stalo se, tak script přestane fungovat. Zkoušel jsem vše možné, ale s cizí URL mi to nejde rozeběhnout. Problém mám s jakoukoliv jinou adresou rss než je ta výchozí.

V consoli jde o tuto chybu:
example.com/:1 Failed to load http://www.novinky.cz/rss2/stalo-se/: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://example.com' is therefore not allowed access.

13:54:28.926 scripts.js:135 Error: Chyba připojení
    at XMLHttpRequest.req.onerror (<anonymous>:15:11)
    

Jak povolím ten přístup k hlavičce, nebo co je tam za problém?
Keeehi
Profil
Anonymouz:
Jak povolím ten přístup k hlavičce, nebo co je tam za problém?
Ty nijak. Tu hlavičku by musely odesílat samy novinky. Nebo jakýkoli jiný server z kterého chceš RSS napojit.
Řešením by bylo si na svém serveru udělat proxy toho RSSka. Ten javascript by se ptal tvého serveru (když je doména stejná, žádné hlavičky nejsou potřeba), tvůj server se zeptá novinek, obdrží odpověď a tu přepošle zpět javascriptu.
Anonymouz
Profil *
Ono mi to právě nefunguje u ničeho (ani u tohoto vlákna) proto jsem se divil co je to za chybu, když u původního odkazu to jde. Zřejmě se to dnes tak používá, že se zakazuje přístup k hlavičce.

Dovedl by jsi mi nějak přiblížit, jak tu proxy rss vytvořím a předělám JS, aby se ptal mého serveru? Když dávám do Googlu "rss proxy" tak mi to zobrazuje dost zvláštní výsledky. Díky za pomoc.
Keeehi
Profil
Anonymouz:
Máš to celé špatně. Ono se nikde nezakazuje přístup ke hlavičce. Ona v těch odpovědích serveru prostě a jednoduše není. Aby tam byla, musel by ji server sám aktivně přidat. Server novinek to nedělá, ani server této diskuse. Server goodtoknow ji přidává, takže tam je.

Podívat se na obdržené hlavičky můžeš v prohlížeči ve vývojářských nástrojích, nebo ti je zobrazí nějaká online služba
diskuse
goodtoknow
V části Raw Headers vidíš co server posílá.

Dovedl by jsi mi nějak přiblížit, jak tu proxy rss vytvořím
V PHP velmi primitivní proxy vypadá takto.
<?php
readfile("https://www.novinky.cz/rss2/stalo-se/");
V reálu by to chtělo přidat nějakou (třeba pětiminutovou) cache, aby z tvého serveru nešel velký provoz a novinky tě neodstřihly.

předělám JS, aby se ptal mého serveru?
Tak pokud se ten soubor bude jmenovat novinky-rss.php, tak jeho URL bude nejspíše www.tvoje-stranky.cz/novinky-rss.php. A v tom javascriptu na řádku 126 by mělo stačit vyměnit tu jejich url za tu tvojí.
Anonymouz
Profil *
Keeehi:

Díky za pomoc. Teď už se to jakoby načítá, akorát to teda nemá obrázky. Mohlo by to být způsobené tím, že tahám hlavičku od sebe?

Jak moc je náročná tvorba cache? Snažím se pochopit tuto stránku ale je tam toho kotel a tři čtvrtě. Toto je opravdu nejlehčí řešení?


Zapomněl jsem dodat jak to vypadá bez obrázků a taky tam nefunguje proklik na článek novinek.

Keeehi
Profil
Anonymouz:
Teď už se to jakoby načítá, akorát to teda nemá obrázky
Z obrázku to opravdu nepoznám.
Anonymouz
Profil *
Jsou tam úplně rozházené url. V projektu, mám pouze ty soubory z git hubu a postup který jsi popsal, takže by to tam nemělo s ničím kolidovat.
Tobě to funguje dobře, když tento postup provedeš u sebe?
Anonymouz
Profil *
Nemáte někdo nějakou alternativu? Ten script z git hubu spolu s úpravou od Keeehi nefunguje

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: