【问题标题】:How To Call Medium RSS Feed如何调用媒体 RSS 提要
【发布时间】:2017-11-12 02:49:57
【问题描述】:

Medium 在https://medium.com/feed/[@username] 上有一个RSS 提要。我正在尝试使用 XMLHTTPRequest 获取我的所有博客文章。当我在本地测试时,我遇到了 CORs 错误。当我打开 CORs Chrome 扩展程序时,我收到 401 错误。有任何想法吗?有人成功调用 Medium RSS 了吗?

【问题讨论】:

    标签: javascript cors rss localhost frontend


    【解决方案1】:

    要使用 XHR 获取 https://medium.com/feed/[@username] 内容,您可以通过某种代理发出 XHR 请求。例如,尝试为您当前的 XHR 代码提供此 URL:

    https://cors-anywhere.herokuapp.com/https://medium.com/feed/@sideshowbarker
    

    这将导致请求转到 https://cors-anywhere.herokuapp.com,这是一个开放/公共 CORS 代理,然后将请求发送到 https://medium.com/feed/@sideshowbarker

    当该代理收到响应时,它会接受它并向其添加 Access-Control-Allow-Origin 响应标头,然后将其作为响应传递回您的请求前端代码。

    带有Access-Control-Allow-Origin 响应标头的响应是浏览器看到的,因此浏览器现在向您显示的错误消息消失了,并且浏览器允许您的前端 JavaScript 代码访问响应。

    或者使用https://github.com/Rob--W/cors-anywhere/的代码或者类似的代码来设置你自己的代理。

    您需要代理的原因是,来自 https://medium.com/feed/[@username] 的响应不包含 Access-Control-Allow-Origin 响应标头,因此您的浏览器将拒绝让您的前端 JavaScript 代码跨域访问这些响应。

    https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS 有更多详细信息。

    【讨论】:

    • 我可以将它用于在 Android 上运行的 Ionic 应用程序吗?我刚试过,我得到以下GET https://cors-anywhere.herokuapp.com/https://www.reddit.com/.rss 403 (Forbidden) 这是一个 CORS 问题还是与我的实现相关的错误?
    【解决方案2】:

    这是bug。 漏洞已打开。 (丹·阿布拉莫夫批准)

    【讨论】:

      猜你喜欢
      • 2018-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多