4

フラスコフレームワークを使用してpythonサーバーを構成しました。デスクトップアプリケーションからサーバーにリクエストを送信したいと思います。私のサーバーの場所は次のとおりです。http://127.0.0.1:5000/

ブラウザから動作するコードを作成しましたが、デスクトップ アプリからそのコードにアクセスしたいと考えています。

import flask,flask.views import os import functools 
app=flask.Flask(__name__)

app.secret_key="xyz" users={'pravin':'abc'}
class Main(flask.views.MethodView):
    def get(self):
        return flask.render_template('index.html')
    def post(self):
        if 'logout' in flask.request.form:
            flask.session.pop('username',None)
            return flask.redirect(flask.url_for('index'))
        required=['username','passwd']
        for r in required:
        if r not in flask.request.form:
            flask.flash("Error: {0} is required.".format(r))
            return flask.redirect(flask.url_for('index'))

        username=flask.request.form['username']
        password=flask.request.form['passwd']
        if username in users and users[username]==password:
            flask.session['username']=username
        else:
            flask.flash("Username doesn`t exist or incorrect password.")

        return flask.redirect(flask.url_for('index'))

app.add_url_rule("/",view_func=Main.as_view("index"),methods=["GET","POST"])
app.debug=True
app.run()
4

2 に答える 2

6

デスクトップ アプリから URL にアクセスするには、Python ライブラリを使用する必要があります。

requests モジュールを試してください。http リクエストの操作が簡単になり、次のように説明されます。an elegant and simple HTTP library for Python, built for human beings.

サンプルコード:

    >>> r = requests.get('http://127.0.0.1:5000')
    >>> r.status_code
        <Response [200]>
于 2012-07-10T17:15:16.107 に答える
4

Python 標準ライブラリhttplibを使用しようとしましたか?

またはさらに優れたhttplib2

これはGETテストです(httplib2の例に触発されました):

import httplib2
h = httplib2.Http()
resp, content = h.request("http://127.0.0.1:5000/")
于 2012-07-10T07:53:56.980 に答える