em-http-request неожиданный результат при использовании tor в качестве прокси
Я создал суть, которая показывает, что именно происходит.
https://gist.github.com/4418148
Я протестировал версию, которая использовала библиотеку ruby 'net / http' и 'socksify / http', и она работала отлично, но если версия EventMachine возвращает неожиданный результат.
Ответ в Tor Browser правильный, но использование EventMachine - нет!
Он возвращает ответ, но не совпадает с ответом при отправке запроса через браузер, net / http с прокси или без него.
Для удобства я также вставлю это сюда.
require 'em-http-request'
DEL = '-'*40
@results = 0
def run_with_proxy
connection_opts = {:proxy => {:host => '127.0.0.1', :port => 9050, :type => :socks5}}
conn = EM::HttpRequest.new("http://www.apolista.de/tegernsee/kloster-apotheke", connection_opts)
http = conn.get
http.callback {
if http.response.include? "Oops"
puts "#{DEL}failed with proxy#{DEL}", http.response
else
puts "#{DEL}success with proxy#{DEL}", http.response
end
@results+=1
EM.stop_event_loop if @results == 2
}
end
def run_without_proxy
conn = EM::HttpRequest.new("http://www.apolista.de/tegernsee/kloster-apotheke")
http = conn.get
http.callback {
if http.response.include? "Oops"
puts "#{DEL}failed without proxy#{DEL}", http.response
else
puts "#{DEL}success without proxy#{DEL}", http.response
end
@results+=1
EM.stop_event_loop if @results == 2
}
end
EM.run do
run_with_proxy
run_without_proxy
end
Ценю любые разъяснения.