首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用ajax从以“feed://”开头的RSS提要中获取XML数据?

如何使用ajax从以“feed://”开头的RSS提要中获取XML数据?
EN

Stack Overflow用户
提问于 2019-02-04 09:16:05
回答 1查看 419关注 0票数 0

我在NW.JS中,我需要能够获得RSS,但目前只能从一些xml检索数据,而不是全部。我想我的问题可能是CORS。我尝试在我的ajax中“设置标题”,但是nw.js浏览器拒绝设置它们。

我已经尝试过这样的ajax了。

代码语言:javascript
运行
复制
var cleanURL = "http://feeds.bbci.co.uk/news/uk/rss.xml"
$(document).ready(function() {
//feed to parse
var feed = cleanURL;

$.ajax(feed, {
    accepts:{
        xml:"application/rss+xml"
    },
    dataType:"xml",
    success:function(data) {
        //Credit: http://stackoverflow.com/questions/10943544/how-to-parse-an-rss-feed-using-javascript

        $(data).find("item").each(function () { // or "item" or whatever suits your feed
            var el = $(this);
            console.log("------------------------");
            console.log("title      : " + el.find("title").text());
            console.log("link       : " + el.find("link").text());
            console.log("description: " + el.find("description").text());
            });
        }   
    });

});

这适用于像http://feeds.bbci.co.uk/news/uk/rss.xml这样的站点,但是当我使用像feed://feed://feed/rss/uk.xml这样的站点时,如果我删除"feed://“,就会得到::FAILED_TO_LOAD_RESOURCE ..even。

我尝试在ajax中设置头文件

代码语言:javascript
运行
复制
headers: {"Origin": "*"}

但我不确定这是如何工作的。

这是CORS问题吗?如果是,我如何在NW.JS中克服这一点

我也尝试过fetch(),但也有同样的结果,服务器拒绝向我发送数据。

我希望能够从任何RSS feed检索任何XML数据,而不必使用rss2json等API来做到这一点。

EN

回答 1

Stack Overflow用户

发布于 2019-02-05 04:31:22

所以事实证明欺骗用户代理到Chrome (即使NW.JS是建立在chrome上的!)让它工作起来。我使用了"Request“来做这件事。

代码语言:javascript
运行
复制
var request = require('request');
    var options = {
      url: cleanURL,
      headers: {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36'
      }
    };
    function callback(error, response, body) {
      if (!error && response.statusCode == 200)     {
        console.log(response.statusCode);
        console.log(body);
      }
    }
    request(options, callback);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54509167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档