EventMachine HTTP Request не может подключиться через прокси через HTTPS - PullRequest
2 голосов
/ 23 февраля 2012

Я работаю с 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/"

Что не так с моим кодом?

Ответы [ 3 ]

1 голос
/ 25 августа 2012

У меня была такая же проблема сегодня, я не смог заставить прокси-запросы ssl работать с моим прокси-сервером http, но я смог заставить его работать с прокси-сервером socks5:

:proxy => { :host => 'my.proxy', :port => 8080, :type => :socks5 }
1 голос
/ 20 октября 2012

Изменить вызов:

http = EventMachine::HttpRequest.new(url).get opts
0 голосов
/ 25 марта 2012

Укажите errback. Затем ваш код выйдет из цикла обработки событий, а также выведет все проблемы, которые могут возникнуть у запроса прокси:

http.errback {
  p http.response_header.status
  p http.response_header
  p http.response

  EventMachine.stop
}
...