ruby - EventMachine HTTP 请求无法通过 HTTPS 在代理后面连接

标签 ruby eventmachine

我正在使用 em-http,但无法在代理后面获得 HTTPS(SSL) 连接。这是我的代码。

require 'eventmachine'
require 'em-http'

url = "https://twitter.com/"
opts = {
  :proxy => { :host => 'my.proxy', :port => 8080 }
}

EventMachine.run do
  http = EventMachine::HttpRequest.new(url, opts).get
  http.callback {
    puts http.response
    EventMachine.stop
  }
end

此代码工作正常,没有错误,但它不执行任何操作,也不会从 eventmachine 主循环中退出。

当我在如下条件下尝试时,我的应用程序可以连接到目标。

  • 外部代理/通过 HTTPS
  • 在代理后面/通过 HTTP

我还可以使用代理后面的curl 来获取响应。

curl "https://twitter.com/"

我的代码有什么问题吗?

最佳答案

我今天遇到了同样的问题,我无法让代理 ssl 请求与我的 http 代理一起工作,但我能够让它与ocks5代理一起工作:

:proxy => { :host => 'my.proxy', :port => 8080, :type => :socks5 }

关于ruby - EventMachine HTTP 请求无法通过 HTTPS 在代理后面连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9408862/

相关文章:

ruby - 为什么这个 EventMachine Synchrony hiredis 示例返回 DefaultDefferable,而不是请求中的值?

ruby - 如何让 eventmachine 服务器只写数据?

Ruby Net::FTP 进度条

ruby - 坚持 ruby​​ 绑定(bind)

ruby-on-rails - 如何将 collection_check_boxes 默认选中?

ruby - 我如何终止正在使用的端口 -- eventmachine

sinatra - 使用 Sinatra Server Sent Events 流时如何提高并发性

ruby-on-rails - 关于 Shibboleth 和 SAML 的良好文档?

ruby-on-rails - 编写 gem 时如何测试虚拟 Rails 应用程序?

ruby-eventmachine 将 start_server 与实例一起使用