0

我想做一个龙卷风代理页面。

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

我在 php 中制作了一个简单的小型代理页面,只是为了发现 tornado 网络服务器不支持 php。这是 php 代码,可以更好地解释我在寻找什么:

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

所以它没有什么极端的。

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

4

1 回答 1

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 参数不是可选的(可以传递 '' ),body 和 header 是。这也可以以异步方式完成。

于 2014-02-06T22:33:30.410 回答