2010-03-27 3 views
0

У меня есть абсолютный простой прокси-сервер.Webrick transparent proxy

require 'webrick' 
require 'webrick/httpproxy' 

s = WEBrick::HTTPProxyServer.new(:Port => 8080, 
    :RequestCallback => Proc.new{|req,res| puts req.request_line, req.raw_header}) 

# Shutdown functionality 
trap("INT"){s.shutdown} 

# run the beast 
s.start 

Это должно на мой взгляд никак не влиять на общение. Но некоторые сайты больше не работают. Специально встроенные флеш-плееры http://lastfm.de не работают.

Заголовок выглядит ссылка:

- -> http://ext.last.fm/2.0/?api%5Fsig=aa3e9ac9edf46ceb9a673cb76e61fef4&flashresponse=true&y=1269686332&streaming=true&playlistURL=lastfm%3A%2F%2Fplaylist%2Ftrack%2F42620245&fod=true&sk=ee93ae4f438767bf0183d26478610732&lang=de&api%5Fkey=da6ae1e99462ee22e81ac91ed39b43a4&method=playlist%2Efetch 
GET http://play.last.fm/preview/118270350.mp3 HTTP/1.1 
Host: play.last.fm 
User-Agent: Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.2) Gecko/20100308 Ubuntu/10.04 (lucid) Firefox/3.6 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language: de,en-us;q=0.7,en;q=0.3 
Accept-Encoding: gzip,deflate 
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 
Keep-Alive: 115 
Proxy-Connection: keep-alive 
Cookie: AnonWSSession=ee93ae4f438767bf0183d26478610732; AnonSession=cb8096e3b0d8ec9f4ffd6497a6d052d9-12bb36d49132e492bb309324d8a4100fc422b3be9c3add15ee90eae3190db5fc 
localhost - - [27/Mar/2010:11:38:52 CET] "GET http://www.lastfm.de/log/flashclient/minor/Track_Loading_Fail/Buffering_Timeout HTTP/1.1" 404 7593 
- -> http://www.lastfm.de/log/flashclient/minor/Track_Loading_Fail/Buffering_Timeout 
localhost - - [27/Mar/2010:11:38:52 CET] "GET http://play.last.fm/preview/118270350.mp3 HTTP/1.1" 302 0 

Я СВАО некоторые намеки, почему или что потревожить связи.

ответ

2

Возможно, это файл crossdomain.xml на Lastfm.de?

Он установлен только разрешить доступ вспышки из следующих областей:

*.last.fm 
*.audioscrobbler.com 
87.117.229.54 

http://lastfm.de/crossdomain.xml

+0

Возможно, возможно, сейчас все работает. Прошло много времени с тех пор, как я это пробовал. Спасибо, но я прекратил работать над этим. – zzeroo

5

WEBrick блокирует I/O ... Это означает, что она не в состоянии потока ответа. Например, если вы перейдете на страницу YouTube, чтобы увидеть видео, поток не будет перенаправлен в ваш браузер, пока прокси не скачет все видео-котенты. Если вы хотите, чтобы видео воспроизводилось в вашем браузере во время его загрузки, вам нужно искать неблокирующее решение ввода-вывода, такое как EventMachine.