日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > 互聯(lián)網(wǎng) > Tornado框架使用http的GET方式傳輸中文漢字的簡單實(shí)作

Tornado框架使用http的GET方式傳輸中文漢字的簡單實(shí)作

來源:程序員人生   發(fā)布時(shí)間:2015-04-14 08:19:21 閱讀次數(shù):3405次

最近業(yè)余時(shí)間在看Tornado框架的使用,雖然維基百科「Comparison of web application frameworks」把Tornado黑的不行,但上手確切很簡單



這個(gè)教程的第2個(gè)例子


import textwrap import tornado.httpserver import tornado.ioloop import tornado.options import tornado.web from tornado.options import define, options define("port", default=8000, help="run on the given port", type=int) class ReverseHandler(tornado.web.RequestHandler): def get(self, input): self.write(input[::⑴] + ' ') class WrapHandler(tornado.web.RequestHandler): def post(self): text = self.get_argument('text') width = self.get_argument('width', 40) self.write(textwrap.fill(text, int(width)) + ' ') class FindbrandHandler( tornado.web.RequestHandler ): def get(self, input): input_dcds = input.split('_') input_dcd = u'' for elem in input_dcds: if len(elem)>0: input_dcd += unichr( int(elem) ) print input_dcd.encode('utf⑻') o_str = 'input: '+input_dcd.encode('utf⑻') + ' output: getcha ' self.write( o_str ) if __name__ == "__main__": tornado.options.parse_command_line() app = tornado.web.Application( handlers=[ (r"/reverse/(w+)", ReverseHandler), (r"/wrap", WrapHandler), (r"/brand/(w+)", FindbrandHandler) ] ) http_server = tornado.httpserver.HTTPServer(app) http_server.listen(options.port) tornado.ioloop.IOLoop.instance().start()

例程的邏輯以下:

添加FindbrandHandle類,繼承RequestHandler,重寫get方法

依照

/brand/(要求內(nèi)容)

的方式載入web.Application,然后運(yùn)行。


用curl要求:

curl localhost:9002/reverse/1234567

會(huì)得到以下返回

7654321


但是輸入中文

curl localhost:9002/reverse/從星星的彈空里

會(huì)得到404頁

<html><title>404: Not Found</title><body>404: Not Found</body></html>


這是由于http的GET方法,不支持漢語,僅支持字母數(shù)字符號。早些年某些閱讀器訪問百度,也常常看見百度將搜索詞,使用urlencode方法,轉(zhuǎn)化為GET方法支持的url字符串。

這里我們使用unichr()和ord()兩個(gè)函數(shù),實(shí)現(xiàn)unicode字符與整形數(shù)的轉(zhuǎn)換,發(fā)送用下劃線間隔的整形數(shù)。

這里是客戶端例程:

import os import sys import nlp_tools as nt urlstr = 'curl localhost:%d/brand/%s' if __name__=='__main__': n_args = len(sys.argv) line = sys.argv[2] ecd_data = '' for word in line.decode('utf⑻'): ecd_data += '%d_'%( ord(word) ) url_request = '' if n_args==2: url_request = urlstr%( 8000, ecd_data ) else: url_request = urlstr%( int(sys.argv[1]), ecd_data ) print line print url_request os.system( url_request )

使用


python call_string_service1.py 9002 從星星的彈空里


調(diào)用該腳本,既可查看履行結(jié)果:


從星星的彈空里
curl localhost:9002/brand/20174_26143_26143_30340_24377_31354_37324_
input: 從星星的彈空里
output: getcha


本實(shí)作使用自寫編碼方式,簡單演示其他url_encode模塊的工作原理,實(shí)現(xiàn)了中文漢字的傳輸。

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 粉嫩欧美一区二区三区高清影视 | 麻豆av在线播放 | 国产主播福利 | 国产欧美日韩综合 | 国产毛片一区二区三区 | 国产一区二区三区在线观看免费 | 久久久精品国产 | 国产日韩一区二区 | 国产午夜精品福利 | 蜜桃在线一区二区三区 | 精品av天堂毛片久久久借种 | 久久久久久久免费 | 伊人国产精品 | 日韩精品在线电影 | 欧美无乱码久久久免费午夜一区 | 成 人 免费 黄 色 | 日韩视频在线观看免费 | 99久久精品免费看国产免费软件 | 91小视频在线观看 | av一级毛片| 中文日产幕无线码一区二区 | 国产在线网站 | 欧美一区二区三区 | 免费的av| 日韩精品一区在线 | 一级片大全 | 国产97在线观看 | 欧美 亚洲 视频 | 美女毛片在线看 | 国产精品免费一区 | 国产一区二区播放 | 99久久精品费精品 | 91免费观看视频 | 久久综合99 | 国产性猛交xxxx免费看久久 | 视频在线观看国产 | 三级毛片视频 | 国产在线观看免费 | 国产一区免费观看 | 欧美a黄 | 午夜午夜精品一区二区三区文 |