2016-07-21 8 views
0

私は、テキストとその属性を扱うプログラム/サービスを作成しています。 は、ローカルホスト:8000 /タイトルIMG = img_url.jpg & text_color =#FF0000Tornado Escape Pound#文字

と私のハンドラでは、私のようなものがあります:?。

application = tornado.web.Application([ 
(r"/title_overlay", MainHandler), 
    ]) 

class MainHandler(tornado.web.RequestHandler): 
    def check_origin(self, origin): 
     return True 

    def get(self): 
     image_url = self.get_argument("img", None, True) 
     image_local_file = 'image' + "_" + image_url.split('/')[-1] 
     urllib.urlretrieve(image_url, image_local_file) 
     text_color = self.get_argument('text_color', '', True) 
    ..... 
    ..... 
    ..... 

は私がtext_color値すなわち#1 FF0000を取得できませんよと。 imgurlの抽出は機能しますが、text_colorは機能しません。 これは#文字で何かする必要がありますか? ?

答えて

1

「#」の後の部分はfragment identifierと呼ばれ、ブラウザがURLを取得するときにサーバーに送信しないためです。あなたのURLに色をエンコードするためには、「#」文字を省略しなければならない、またはそれをURLエンコードされます:

text_color=%23FF0000

+0

は、私はそれを得ることができる方法はありますか? – Abhi

+0

ブラウザは、URLを取得するときにフラグメントをサーバーに送信しません。 –

+0

申し訳ありません、ありがとう! – Abhi