制作龙卷风代理页面

时间:2014-02-05 08:04:23

标签: python proxy tornado webproxy

我想制作龙卷风代理页。

因此,当我访问proxypage时,我会从google.com获取内容。

我在php中创建了一个小的简单代理页面,但却发现龙卷风webserver不支持php。 这是PHP代码,以更好地解释我正在寻找:

<?php
$file = file_get_contents($_GET['requrl']);
echo $file;
?>

所以没有什么可以极端的。

我正在向一个提供json响应的网站发出ajax请求,没有什么特别的图像只是json。但是ajax不适用于跨域请求(同源策略)。并且该网站不支持jsonp或cors,因此代理页面是唯一的方式。

1 个答案:

答案 0 :(得分:0)

添加一个类似于:

的处理程序
(r"/", proxyHandler ),

和处理程序类

class proxyHandler(RequestHandler):
    def get(self):
        connection = httplib.HTTPConnection( "www.google.com" )
        connection.request( 'GET', '[uri]', '[body]', '[header]' )
        response = connection.getresponse()

        if response.status !=200:
            print response.status, response.reason

        data = response.read()
        connection.close()

        try:
            dataJSON = json.loads(data)
            if DEBUG_HTTP:
                printDoc( dataJSON, 'http response json')

            return dataJSON
        except Exception, e:
            print 'data is of type, '+str(type(data))+', returning as is'
            return data

在connection.request()调用中,uri param不是可选的(可以传递''),正文和标题都是。 这也可以以异步方式完成。