在 Windows 服务器上使用带有 Rails 5.2 的 Nokogiri 时出现无效参数 @ rb_sysopen 错误
Invalid argument @ rb_sysopen error using Nokogiri with Rails 5.2 on Windows server
我在 Whosebug 或 Internet 上看了几个问答,但没有找到解决这个问题的方法。上下文很重要:
- Windows 服务器 2016
- Rails 5.2.4
- Ruby2.6.5
- Nokogiri 1.12.3-x64-mingw32
我希望使用 Nokogiri 来解析 XML 互联网上收集的资源。第一步是从 url:
中获取内容
resource = Nokogiri::XML(open("https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/categoryscheme/ESTAT/AGRIC"))
但这会引发错误:
Errno::EINVAL
Invalid argument @ rb_sysopen - https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/categoryscheme/ESTAT/AGRIC
我还尝试了以下基于 Nokogiri tutorials 的方法:
resource = Nokogiri::XML(URI.open("https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/categoryscheme/ESTAT/AGRIC"))
引发错误:private method 'open' called for URI:Module
如何从已发布的 API 中向 Nokogiri 提供 XML 数据?
非常感谢!
我的解决方案包括两个步骤:
- 我将 open-uri gem 添加到我的应用程序的 Gemfile 中,这样我就可以检索资源 URL.[=24= 的内容]
- 关于我的基础设施
,我将 proxy 选项定义为 false
然后可以创建Nokogiri文档:
resource = URI.open("https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/categoryscheme/ESTAT/AGRIC"), proxy: false)
document = Nokogiri::XML(resource)
文档现在可以解析了。
我在 Whosebug 或 Internet 上看了几个问答,但没有找到解决这个问题的方法。上下文很重要:
- Windows 服务器 2016
- Rails 5.2.4
- Ruby2.6.5
- Nokogiri 1.12.3-x64-mingw32
我希望使用 Nokogiri 来解析 XML 互联网上收集的资源。第一步是从 url:
中获取内容resource = Nokogiri::XML(open("https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/categoryscheme/ESTAT/AGRIC"))
但这会引发错误:
Errno::EINVAL
Invalid argument @ rb_sysopen - https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/categoryscheme/ESTAT/AGRIC
我还尝试了以下基于 Nokogiri tutorials 的方法:
resource = Nokogiri::XML(URI.open("https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/categoryscheme/ESTAT/AGRIC"))
引发错误:private method 'open' called for URI:Module
如何从已发布的 API 中向 Nokogiri 提供 XML 数据?
非常感谢!
我的解决方案包括两个步骤:
- 我将 open-uri gem 添加到我的应用程序的 Gemfile 中,这样我就可以检索资源 URL.[=24= 的内容]
- 关于我的基础设施 ,我将 proxy 选项定义为 false
然后可以创建Nokogiri文档:
resource = URI.open("https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/categoryscheme/ESTAT/AGRIC"), proxy: false)
document = Nokogiri::XML(resource)
文档现在可以解析了。