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

您必须使用 python 库从桌面应用程序访问 url。

尝试请求模块。它使处理 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 回答