ai didi

ruby-on-rails - 为什么我在 Rails 中得到 "Errno::ECONNREFUSED"和 'net/http'?

转载 作者:数据小太阳 更新时间:2023-10-29 07:05:22 24 4
gpt4 key购买 nike

我正在尝试从 URL 解析 XML 文件。当我尝试这样的事情时:

require 'net/http'
require 'rubygems'
require 'xmlsimple'

url = 'http://my-address.com/xmltest/note.xml'
xml_data = Net::HTTP.get_response(URI.parse(url)).body

一切正常,但仅当我在 Rails 项目之外执行此操作时。如果我尝试将此文件包含在我的 Rails 3 项目中并在那里解析它,我会收到错误消息 "Errno::ECONNREFUSED in [controller]"- Connection refused - connect(2)

我的问题如下:我不知道如何安装 net/http 组件。我正在 http://www.rubygems.org 上寻找它,但我找不到它。

最佳答案

Net::HTTP是 Ruby 标准库的一部分。您可以使用 require 'net/http' 来加载它。

我建议使用 Ruby 的 Open::URI,而不是使用 Net::HTTP,它对于您想做的事情来说是相当低级的。 .

如果您要移动大量 HTTP 数据,您可能需要查看 HTTPClient 或 Curb 或 Typhoeus 之类的东西,它们专为重量级使用而设计,可以省去使用 全部编写的麻烦网络::HTTP.

关于 ECONNREFUSED 错误:您可能想要捕获从 get_response 返回的 HTTPResponse,然后在尝试读取正文之前检查其状态。您现在执行此操作的方式不允许您对失败的请求使用react。

关于ruby-on-rails - 为什么我在 Rails 中得到 "Errno::ECONNREFUSED"和 'net/http'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6231470/

24 4 0
文章推荐: ruby-on-rails - Rails和回形针,删除记录但不删除附件
文章推荐: dart - CheckboxListTile 在使用来自 firebase 的实时数据库时不起作用
文章推荐: flutter - 如何更改 ModalBottomSheet 的边框和高度?
文章推荐: ruby 乘客 : no such file to load bundler
数据小太阳
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com