ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Flask Get Post Ex
    Search: Python Python 2022. 8. 8. 15:44

     

     

    Server

    import os
    import string
    from tkinter.messagebox import NO
    from urllib import request
    import flask
    #from flask import Flask, request
    from werkzeug.utils import secure_filename
    
    app = flask.Flask(__name__)
    
    @app.route("/", methods=['GET'])
    def root_page():
        return "post or get test page"
    
    @app.route("/get1", methods=['GET'])
    def get1_page():
        return "get1 test page"
    
    
    @app.route("/multipart1", methods=['POST'])
    def multipart1_page():
        f1 = flask.request.files.get("file1")
        if(f1 is None):
            print("File1 None")
            return "File1 None"
        print("File1 save")
        f1.save(secure_filename(f1.filename))
        return "multipart1 test page success"
    
    @app.route("/json1", methods=['POST'])
    def json1_page():
        js1 = flask.request.get_json()
        if "k1" not in js1:
            return "json1 test page key 'k1' not found"
        return "json1 test page success, 'k1' value:" + js1["k1"]
    
    
    @app.route("/post1", methods=['POST'])
    def post1_page():
        print(flask.request.data)
        return "post1 test page"
    
    @app.route("/post2", methods=['POST'])
    def post2_page():
        print(flask.request.form.get("k1"))
        return "post2 test page"
    
    @app.route("/post3", methods=['POST'])
    def post3_page():
        #print(flask.request.form.get("k1"))
        return "post3 test page"
    
    @app.route("/getarg1", methods=['GET'])
    def getarg1_page():
        return str(flask.request.args.get("file")) + " safe"
    
    
    #app.run(host='127.0.0.1')
    #app.run(host='192.168.56.1')
    app.run(host='0.0.0.0')

     

    Client

    import requests
    
    def post1():
        URL = 'http://127.0.0.1:5000/post1'
        response = requests.post(URL, data="kkk")
        response.status_code
        print(response.text)
    
    def post2():
        URL = 'http://127.0.0.1:5000/post2'
        response = requests.post(URL, data={'k1':'v1'})
        response.status_code
        print(response.text)
    
    def post3():
        URL = 'http://127.0.0.1:5000/post3'
        response = requests.post(URL, data={'k1':'v1'})
        response.status_code
        print(response.text)
    
    post2()

     

    data에 단순 String

    client에서 data에 직접 String 'kkk'을 넣을 경우

    server에서 flask.request.data값을 직접 읽으면 b'kkk'으로 나온다

    data에 dict

    client에서 data에 직접 dict을 넣을 경우

    server에서 flask.request.data.form.get(key)로 key값에 해당하는 value를 읽을 수 있다

     

    암호: infos

    FlaskGetPostEx1.7z
    0.00MB

     

    'Python' 카테고리의 다른 글

    Python Re - group  (0) 2022.12.13
    Python Re - match, search 예제  (0) 2022.12.13
    Python, on Windows 7  (0) 2022.11.28
    Twisted (networking engine)  (0) 2022.08.17
    Flask file upload(multipart)  (0) 2022.07.31
    Flask render_template  (0) 2022.07.31
    가변 파라미터  (0) 2022.07.23
    컴프리헨션(Comprehension)  (0) 2022.07.23

    댓글