Pythonの学習ネットワークプログラミング(ファイルのアップロードとダウンロード) - Redisのが動作----インターフェイスの開発

要求インポート
#1 urllibはベースの包装
#のURL = 'http://aliuwmp3.changba.com/userdata/userwork/1128447787.mp3'
#1 D = { 'stu_name': 'ミネラル'}
#= R&LTのrequests.get(URL) #は、要求取得
#印刷( 'JSON'、r.json ())# 辞書を返す
#プリントを( 'テキスト'、r.text )#は、文字列を返す
#印刷( 'コンテンツ'、r.contentを #)は、Aを返しますバイナリ結果は、主にダウンロードするために使用されるバイト
#FW =オープン( 'ldh.mp3'、 'WB')
#fw.write(r.content)
#fw.close()

#post要求
// API:#のURL =」HTTPを 。 nnzhp.cn/api/user/login '
#{データ='ユーザ名':' niuhanyang '' passwdの':' aA123456「}
#= R&LTのrequests.post(URL、データ)
#プリント(r.text)

ファイルアップロード
#http://q4.qlogo.cn/g?b=qq&nk=921375025&をS = 140は、QQの画像取得
//api.nnzhp.cn/api/file/file_uploadアップロードパス:#httpを
#のURL = 'http://api.nnzhp.cn/api/file/file_upload'
#R = requests.post(URL、ファイル= { 'ファイル':オープン( 'ldh.mp3'、 'RB')})
#プリント(r.text)

#1、R = requests.session()
##のr.get()
結果= r.post( 'http://api.nnzhp.cn/api/user/login',data= { 'ユーザ名': 'niuhanyang'、 'passwdの': 'aA123456'})
結果= r.post( 'http://api.nnzhp.cn/api/user/login',params= {'ユーザ名':' niuhanyang」、 'passwdの': 'aA123456'})

プリント(result.text)



Redisの操作

#Redisの10ワットは、第二高速読み出しをサポートするメモリを有し、データのデータベースを書き込む
インポートRedisの
R&LT redis.Redis =(ホスト= '118.24.3.40'、パスワード= '*&HK139bc'を、DB = 0、=真decode_responses)
位r.set( 'ユーザー'、 '白')新しい
#印刷(r.get( 'name'が )。()DECODE) クエリ


#文字列データ型
#1 r.delete( 'キー')#削除
#rを。セット( 'セッション'、 'jkjkjkljkl '、60)#の設定時間経過セッション
#r.flushdb()#のRedisのデータベースと現在のキークリア
#のr.flushallを()をクリアすべてのキー#すべてのデータベースの
#のr.keys ()#すべてのキー現在のデータベースを取得
XXのすべての概要とスタートキーの#1 r.keys(「* XX」)
#1 r.exists(「キー」)#キーがリターン0リターン1は存在しませんが存在するか否かを判断します

#hash型データ
#1 r.hset( 'cnz_l'、 'LDH'、 '12345')
修飾ハッシュ型データ#1に挿入された#1 r.hset( 'cnz_l'、 'LDH2'、 '12345')
プリント(R。hget( 'cnz_l' 'LDH '))#は、ハッシュデータを取得
'、 'cnz_l'(#1 r.hdelを LDH')# のキーハッシュを削除
#R.hgetall( 'cnz_l')#取得すべてのキーと値のハッシュ
#1 r.hmset( 'cnz_l' { 'キー': 'ヴァル'、 'KEY1': 'VAL1'})#1 バルクデータセット
# r.type(「キー」)#ビューのデータ型の

移行のRedis
輸入Redisの

A = redis.Redis(ホスト= '118.24.3.40'、パスワード= 'HK139bc&*'、
#0〜16デシベル= 15、=真decode_responses)
B = redis.Redis(ホスト= '118.24.3.40'、パスワードを= 'HK139bc&*'、
DB = 10、= TRUE)#0-16をdecode_responses

a.keysにおけるkに対して():
もしa.type(K)== 'ストリング':
値= a.get(K)
B。セット(K、値)
ELIFのa.type(K)== 'ハッシュ':
all_data = a.hgetall(K)
b.hmset(K、all_data)
他:
プリント( '其他类型不支持!')

接口开发

輸入フラスコ
インポートのJSON

#1、モック接口
#2、给别人提供数据

#flaskウェブ开发框架

サーバー= flask.Flask(__ name__)

輸入pymysql

デフop_mysql(SQL、many_tag =偽):
CONN = pymysql.connect(ホスト=」 118.24.3.40' 、ユーザー= 'jxz'、パスワード= '123456'、
デシベル= 'jxz'、ポート= 3306、文字コード= 'UTF8'、
自動コミット=真)
CUR = conn.cursor(pymysql.cursors.DictCursor)
CUR .execute(SQL)
場合many_tag:
結果= cur.fetchall()#1 [{ "ID":1、 "名前": "XXX"}、{ "ID":2、 "名称": "XXX"}]
他:
結果= cur.fetchone()
cur.close()
CONN。近い()
の戻り結果


の@ server.route( '/インデックス')
デフ)(ログイン:
D = { "コード":0、 "MSG": "登录成功niuhanyangq111!"}
戻りjson.dumps(D、ensure_ascii = False)が


server.route @( '/ get_data')
DEF TABLE_DATA() :
table_list = [ 'app_myuser'、 'app_product'、 'app_student']
TABLE_NAME = flask.request.args.get( 'TABLE_NAME')
限界= flask.request.args.get( '限界'、10)
TABLE_NAME場合:
もしtable_listでTABLE_NAME:
SQL = '%sの限度%sから選択*;' %(TABLE_NAME、限界)
プリント(SQL)
データ= op_mysql(SQL、TRUE)
他:
データ= { "コード":-2、 'MSG' : "你没有权限查看这个表里面的数据!"}

他:
データ= {「コード」: - 1、「MSG」:「 必須パラメータが満たされていない、インタフェース文書を参照」}

json.dumps(データ、ensure_ascii = false)を返し


server.route( '/ post_data'、メソッド= [ 'ポスト'])@
デフポスト():
ユーザ名= flask.request.args.get( 'ユーザ名')#参数在它用URL里面的话、
USERNAME2 = flask.request.values.get( 'USERNAME2')#参数在本体里面、用の它の
ファイル= flask.request.files.get( 'F')#上传文件
クッキー=フラスコ。 request.cookies.get( 'F')#クッキー
ヘッダ= flask.request.headers.get( 'F')#ヘッダー
#ヘッダ= flask.request.json.get( 'ユーザ名')#JSON的格式
file.save (file.filename)
リターン'ABC'




server.run(ホスト= '0.0.0.0'、ポート= 8989、デバッグ=真)




#APP_USER、app_product、app_student

おすすめ

転載: www.cnblogs.com/huaixiaohai/p/11129499.html