问题标签 [net-http]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3192 浏览

ruby - 使用 ruby​​ 获取 URL 的内容长度

我正在尝试编写一个 ruby​​ 脚本,该脚本使用net/http. 我的代码如下所示:

我想从这个请求中获得两条信息:膨胀内容的总长度,以及(视情况而定)压缩内容的长度。

有时,标头会包含一个content-length参数,该参数似乎是内容的压缩长度。我还可以使用 res.body.length 来估计内容的膨胀大小,但这并不是万无一失的。上的文档net/http说 gzip 标头会自动从列表中删除(帮助我,谢谢)所以我似乎无法可靠地处理这些信息。

任何帮助表示赞赏(包括其他宝石,如果他们更容易做到这一点)。

0 投票
2 回答
300 浏览

ruby - ruby-openid:执行发现时未设置@socket

我对omniauth/openid 有点麻烦。

尝试进行身份验证时,我在日志中发现了这一点:

重要的是undefined method io' for nil:NilClass来自 openid/fetchers.rb,在以下代码段中:

该错误是由生成的@socket.io.peer_cert,@socket 未定义。

你们有没有人遇到过这种情况?不太清楚是什么原因。

我正在运行的版本:

  • 红宝石 1.9.3dev (2010-08-17 主干 29020) [x86_64-darwin10.4.0]
  • 红宝石-openid (2.1.8)
  • ruby-openid-apps-discovery (1.2.0)
  • 全域认证 0.2.0
0 投票
4 回答
19905 浏览

ruby - 如何在 ruby​​ 中设置自定义用户代理

我的任务是通过自动化测试 URL 上的不同用户代理。我正在使用ruby进行编码,并且我一直在尝试使用以下方法设置用户代理,但它似乎无法识别用户代理。

有没有其他方法可以做到这一点,或者我做错了什么?

0 投票
1 回答
297 浏览

ruby-on-rails - 在哪里可以了解有关 Net::HTTP 方法的更多信息?

有人可以为我指出 Net::HTTP 的好资源吗?我试图理解为什么某些代码会以它的方式运行。例如:

我理解上述代码的 95%,但我找不到任何解释.head('/')正在做什么的资源。我希望有人能指出我对初学者友好的好资源。

0 投票
1 回答
715 浏览

ruby - 通过 open-uri 优雅地使用 Kernel#open for https

需要后open-uri,可以通过Kernel#open. 但是,尝试使用 https 执行此操作会导致根证书错误,因为 ruby​​ 没有所有根证书。

这可以像这样解决,但那是为了使用Net::HTTP带有块的对象。

是否有一种优雅的方式来全局设置use_sslca_file用于Net::HTTP库,以便它将应用于我的整个应用程序以及类似的命令Kernel#open

0 投票
2 回答
12856 浏览

ruby-on-rails - 为什么我在 Rails 中使用“net/http”得到“Errno::ECONNREFUSED”?

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

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

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

0 投票
1 回答
252 浏览

ruby - 在调试一个小小的 ruby​​ 脚本时需要帮助

当我运行我的脚本时,我收到以下错误。

这是脚本:

0 投票
2 回答
910 浏览

ruby-on-rails - “慢” API 上的 ActiveResource EOFError

我正在努力解决这个问题,任何帮助将不胜感激!

我有两个 Rails 应用程序,我们称它们为 Client 和 Service,都非常简单,普通的 REST 接口 - 这是基本场景:

  • 客户端向服务发出 POST /resources.json 请求
  • 服务运行一个创建资源并向客户端返回 ID 的进程

同样,一切都非常简单,只是服务处理非常耗时,可能需要几分钟。如果发生这种情况,客户端会在请求发出 60 秒后引发 EOFError(无论 ActiveResource::Base.timeout 设置为什么),同时服务正确处理请求并以 200/201 响应。这是我们在日志中看到的(按时间顺序):

显然,服务响应从未到达客户端。我将错误追溯到套接字级别,并在脚本中重新创建了该场景,在该脚本中我打开了一个 TCPSocket 并尝试检索数据。由于我没有请求任何东西,我不应该得到任何东西,我的请求应该在 70 秒后超时(参见底部的完整脚本):

这些是一些域的结果:

如您所见,一些服务器允许我们“等待”整整 70 秒,而其他服务器终止了我们的连接,引发了 EOFErrors。当我们对我们的服务进行此测试时,我们(预期)在 60 秒后收到 EOFError。

有谁知道为什么会这样?有什么办法可以防止这些或延长服务器端超时?由于我们的服务继续“工作”,即使在套接字关闭后,我认为它必须在代理级别终止?

每一个提示将不胜感激!

PS:完整脚本:

0 投票
1 回答
8515 浏览

ruby - 使用 Net::HTTP 的块形式的 HTTPS 请求——这可能吗?

要执行不带块形式的 Net::HTTP https 请求,您可以执行以下操作:

但是有没有办法告诉 Net::HTTP 在做块形式时使用 https?

我在红宝石 1.8.7

0 投票
1 回答
368 浏览

ruby-on-rails - 用于 URL 的 Rails 3 EachValidator

我想创建一个 EachValidator,我可以用它来测试给定 URL 的有效性。基本上我想先测试它是否匹配 URL 格式。如果它看起来是 URL,则使用 Net::HTTP 尝试解析 URL(包括以下重定向)。有没有人已经做过类似的事情并且愿意分享他们的代码?