首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过过滤器滑动播客

通过过滤器滑动播客
EN

Stack Overflow用户
提问于 2008-09-24 20:40:08
回答 5查看 362关注 0票数 0

我的工作场所通过强制我们通过代理来过滤我们的互联网流量,不幸的是,IT Conversations和Libsyn等网站被屏蔽了。但是,如果mp3文件来自不在代理黑名单上的站点,则通常不会对其进行过滤。

那么,有没有什么网站可以让我给它一个网址,然后从这个网址下载MP3并发送给我,这样就可以通过代理了?

或者,有没有其他简单的方法可以让我从工作中获得这些播客的mp3文件?

编辑和更新:由于我已经被否决了几次,也许我应该解释/证明我的情况。我是一名承包商,在一家政府机构工作,我们使用一些商业过滤软件,这些软件非常激进和过于热心。我的老板对我在工作中听播客没意见,对我绕过代理过滤也没意见,他不想处理让IT部门破例处理IT对话或Java Posse等相关的重要繁文规定(毕竟是政府),所以我觉得这对程序员来说是一个重要且相关的问题。

不幸的是,所有绕过网络过滤器的代理网站也都被屏蔽了,所以我可能不得不提前在家里下载我喜欢的播客,然后把它们带到工作中。如果可以告诉我一个不太知名的服务,我可以尝试,可能不会被阻止,我将不胜感激。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-09-05 18:04:09

我最终写了一个非常愚蠢和简单的cgi脚本,并将其托管在我的web服务器上,在我的工作计算机上使用一个脚本来访问它。下面是CGI脚本:

代码语言:javascript
运行
复制
#!/usr/local/bin/python

import cgitb; cgitb.enable()
import cgi
from urllib2 import urlopen

def tohex(data):
    return "".join(hex(ord(char))[2:].rjust(2,"0") for char in data)

def fromhex(encoded):
    data = ""
    while encoded:
        data += chr(int(encoded[:2], 16))
        encoded = encoded[2:]
    return data

if __name__=="__main__":
    print("Content-type: text/plain")
    print("")
    url = fromhex( cgi.FieldStorage()["target"].value )
    contents = urlopen(url).read()
    for i in range(len(contents)/40+1):
        print( tohex(contents[40*i:40*i+40]) )

下面是用于下载播客的客户端脚本:

代码语言:javascript
运行
复制
#!/usr/bin/env python2.6
import os
from sys import argv
from urllib2 import build_opener, ProxyHandler

if os.fork():
   exit()

def tohex(data):
   return "".join(hex(ord(char))[2:].rjust(2,"0") for char in data)

def fromhex(encoded):
   data = ""
   while encoded:
       data += chr(int(encoded[:2], 16))
       encoded = encoded[2:]
   return data

if __name__=="__main__":
   if len(argv) < 2:
       print("usage: %s URL [FILENAME]" % argv[0])
       quit()

   os.chdir("/home/courtwright/mp3s")
   url = "http://example.com/cgi-bin/hex.py?target=%s" % tohex(argv[1])
   fname = argv[2] if len(argv)>2 else argv[1].split("/")[-1]
   with open(fname, "wb") as dest:
       for line in build_opener(ProxyHandler({"http":"proxy.example.com:8080"})).open(url):
           dest.write( fromhex(line.strip()) )
           dest.flush()
票数 0
EN

Stack Overflow用户

发布于 2008-09-25 13:35:21

你能SSH出来吗?SSH隧道是你的朋友!

票数 2
EN

Stack Overflow用户

发布于 2008-12-23 19:44:04

为什么不在家里订阅,并将你最喜欢的播客复制到你的mp3播放器或U盘上,每天带着它去工作,晚上回家呢?然后你就可以倾听,你就不会绕过你的客户网络了。

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

https://stackoverflow.com/questions/129828

复制
相关文章

相似问题

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