问题标签 [em-http-request]

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 投票
0 回答
247 浏览

ruby - 使用 tor 作为代理时 em-http-request 意外结果

我创建了一个要点,它准确地显示了发生的事情。
https://gist.github.com/4418148
我测试了一个使用 ruby​​ 的 'net/http' 库和 'socksify/http' 的版本,它运行良好,但如果 EventMachine 版本返回意外结果。
Tor 浏览器中的响应是正确的,但使用 EventMachine 是不正确的!

它返回一个响应,但它与通过浏览器发送请求时返回的响应不同,net/http 有或没有代理。

为了方便,我也贴在这里。

感谢任何澄清。

0 投票
2 回答
493 浏览

ruby-on-rails - 如何使用 EventMachine 在 ruby​​ 中测试异步 HTTP 请求

我正在收到 RabbitMQ 队列的消息,每条消息都是我要向其发出请求的 URL。现在我使用 AMQP gem 订阅队列并使用 EventMachine,所以我使用 em-http-request 库来发出 http 请求。根据此处的文档:https://github.com/igrigorik/em-http-request/wiki/Parallel-Requests 以下将发出异步 http-requests:

因此,当我订阅 RabbitMQ 队列时,我有以下代码:

这会动态创建新变量并创建新的 http 请求,类似于 em-http-request 文档中描述的方式。但是有没有办法测试请求是否实际上是异步发出的?是否可以在每次触发 get 请求时写入控制台,以便我可以看到它们一个接一个地被触发而不等待响应?

0 投票
0 回答
74 浏览

ruby - 如何使用 ruby​​s em-http-request 发出一定(有限)数量的 api 请求?

我有一个每秒调用次数有限的 API(每 100 秒 100 个请求)。我如何利用 em-http-request(最好使用 Redis)以尽可能快的速率进行此类调用(不超过 api 速率限制?)。

0 投票
1 回答
803 浏览

ruby - em-synchrony 使用 http.get 和迭代器导致无法在根 Fiber 错误中产生

一个非常简单的案例,我得到了根 Fiber 错误。

我可以在这里使用异步,但不能使用同步 http 请求。

0 投票
1 回答
162 浏览

json - EM-HTTP-REQUEST 和 SINATRA - 将多个 api 请求组合/合并为一个结果?

我第一次处理 sinatra 和并行 em-http-request。而且我不知道如何组合/合并为一个结果以及何时使用 EventMachine.stop?. 考虑一下:

0 投票
1 回答
400 浏览

ruby - 使用 EventMachine 使用同一连接发出多个请求?

我有一个正在运行的 EventMachine 正在侦听 UDP 数据包。每次收到 UDP 数据包时,我都想使用 REST 调用将数据转发到某个数据库。我创建了一个 EM::Connection 子类,其中该receive_data方法通过 REST 调用转发数据。

由于数据的频率很高,我想重用请求之间的连接(使用“keep-alive”),如果可能的话也使用管道。在不同呼叫之间共享连接的好方法是什么?

目前我的 UDPHandler 看起来像下面这样:

此类调用如下:

我想过将请求对象设为类变量,但我认为在事件机器的上下文中这不是一个好主意。或者是吗?

0 投票
1 回答
943 浏览

ruby - 简单的 POST 请求因 em-http-request 失败

以下查询适用于requestmaker

网址:

询问:

但它不适用于em-http-request

打印There was an error。我感到很困惑,因为这个简单的示例适用于任何其他发送请求的方法,我已经检查过我的用法是否错误,但似乎没有。

编辑:仅供参考,这不是使用cleverbot的正确方法。我犯了第二个错误,将数据发送到:query. 如果你使用http.post(body: query)它会工作

0 投票
1 回答
99 浏览

ruby - 仅获取 em_http_request 中的响应标头

如何在 em_http_request 中仅获取响应标头?

我尝试使用此代码:

但我不想接受整个身体。如何停止请求的执行? http.close不起作用。

UPD
http.instance_variable_get(:'@conn').close对我有帮助,但您可能知道更有趣的解决方案

0 投票
0 回答
346 浏览

ruby - 如何在不停止 EventMachine 的情况下完成 HTTP 请求?

我想使用 Ruby EventMachine 和 em-http-request 来运行从不同线程触发的并行 HTTP同步请求。

这个想法是在自己的线程中运行单个反应器,并通过 EM.next_tick 在其事件队列上推送 HTTP 请求以完成。

每个呼叫的模式可能是

为了使请求同步,我尝试使用 Fibers 但未成功。请求连接失败或完成但从未退出事件循环。

我不想在回调中调用 EM.stop,因为我猜它会搞砸并行执行的其他请求,并且还会在我希望它运行时停止反应器,直到我决定不再处理请求。

是否有人已经尝试以这种方式使用 EventMachine 和 em-http-request ?EventMachine 可以支持这个用例吗?

0 投票
1 回答
387 浏览

ruby - 带有 em http gem 的事件机器无法加载中间件 oauth

我正在尝试使用 TradeKing API 让股票价格流工作

https://developers.tradeking.com/documentation/ruby-streaming

或下面复制和粘贴的代码

获得密钥、秘密和令牌后,我构建了一个简单的 Ruby 应用程序来处理代码,但我收到一个错误,说它无法加载

require 'em-http/middleware/oauth'

如果我禁用它,代码EventMachine::Middleware::OAuth将不起作用。

这是错误消息:

我是事件机器和 em-http gem 的新手。我查看了他们的文档,但找不到有关此错误的信息。有人可以帮我弄清楚为什么文件无法加载吗?