3 回答

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
這個(gè)編碼應(yīng)當(dāng)不對(duì)吧,沒有對(duì)應(yīng)的解碼
>>> '財(cái)匯端'.encode('unicode_escape')
b'\\u8d22\\u6c47\\u7aef'
>>>
這個(gè)是這幾個(gè)字對(duì)應(yīng)的編碼
\u這種類型的解碼
>>> html.unescape('\u8d22\u6c47\u7aef')
'財(cái)匯端'
>>>

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊
最近這些年,REST已經(jīng)成為web services和APIs的標(biāo)準(zhǔn)架構(gòu),很多APP的架構(gòu)基本上是使用RESTful的形式了。
本文將會(huì)使用python的Flask框架輕松實(shí)現(xiàn)一個(gè)RESTful的服務(wù)。
REST的六個(gè)特性:
Client-Server:服務(wù)器端與客戶端分離。
Stateless(無狀態(tài)):每次客戶端請(qǐng)求必需包含完整的信息,換句話說,每一次請(qǐng)求都是獨(dú)立的。
Cacheable(可緩存):服務(wù)器端必需指定哪些請(qǐng)求是可以緩存的。
Layered System(分層結(jié)構(gòu)):服務(wù)器端與客戶端通訊必需標(biāo)準(zhǔn)化,服務(wù)器的變更并不會(huì)影響客戶端。
Uniform Interface(統(tǒng)一接口):客戶端與服務(wù)器端的通訊方法必需是統(tǒng)一的。
Code on demand(按需執(zhí)行代碼?):服務(wù)器端可以在上下文中執(zhí)行代碼或者腳本?
Servers can provide executable code or scripts for clients to execute in
their context. This constraint is the only one that is
optional.(沒看明白)
RESTful web service的樣子
REST架構(gòu)就是為了HTTP協(xié)議設(shè)計(jì)的。RESTful web
services的核心概念是管理資源。資源是由URIs來表示,客戶端使用HTTP當(dāng)中的'POST, OPTIONS,
GET, PUT, DELETE'等方法發(fā)送請(qǐng)求到服務(wù)器,改變相應(yīng)的資源狀態(tài)。

TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊
nginx 匹配 url,將 url 后綴去掉,對(duì)于不同的 url 后綴,添加對(duì)應(yīng)的 Accept header,flask 里根據(jù)請(qǐng)求headers 里 Accept 的值返回對(duì)應(yīng)格式的數(shù)據(jù)。flask-restful 這個(gè)庫可以根據(jù) Accept header 來返回對(duì)應(yīng)的數(shù)據(jù)格式。
給一個(gè)函數(shù)添加路由
@app.route('/users<data_type>')
def users(data_type='.json'):
pass
第一種依賴外部代理服務(wù)器,第二種還沒想好怎么和 flask-restful 一起用。
添加回答
舉報(bào)