首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webrick透明代理

Webrick透明代理
EN

Stack Overflow用户
提问于 2010-03-27 18:42:01
回答 2查看 3.4K关注 0票数 0

我有一个绝对简单的代理在运行。

代码语言:javascript
复制
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的嵌入式flash播放器不能正常工作。

标题看起来像是链接:

代码语言:javascript
复制
- -> 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

我需要一些提示,为什么或者是什么干扰了通信。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-09 10:50:03

也许是Lastfm.de上的crossdomain.xml文件?

它设置为仅允许从以下域进行闪存访问:

代码语言:javascript
复制
*.last.fm
*.audioscrobbler.com
87.117.229.54

http://lastfm.de/crossdomain.xml

票数 2
EN

Stack Overflow用户

发布于 2012-02-13 21:03:18

WEBrick阻塞I/O ...这意味着它不能流式传输响应。例如,如果您在youtube页面上查看视频,则在代理下载完所有视频内容之前,该流不会转发到您的浏览器。如果您希望视频在下载过程中在浏览器中播放,则必须寻找像EventMachine这样的非阻塞I/O解决方案。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2528937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档