0

トルネードのプロキシページを作りたいです。

したがって、proxypageにアクセスすると、google.com からコンテンツが取得されます。

Tornado WebサーバーがPHPをサポートしていないことを確認するためだけに、PHPで小さなシンプルなプロキシページを作成しました。私が探しているものをよりよく説明するためのphpコードは次のとおりです。

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

極端なことは何もありません。

私はjson応答を返すサイトにajaxリクエストを行っています.jsonだけの特別な画像はありません。ただし、ajax はクロスドメイン リクエスト (same-origin-policy) では機能しません。サイトは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 パラメータはオプションではなく ( '' を渡すことができます)、ボディとヘッダーはオプションです。これは、非同期方式でも実行できます。

于 2014-02-06T22:33:30.410 に答える