我使用flask框架配置了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()
答案 0 :(得分:6)
您必须使用python库从桌面应用程序访问该URL。
试试requests module。它使得轻松处理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]>
答案 1 :(得分:4)
您是否尝试使用python标准库httplib?
或者更好httplib2。
以下是GET测试(受httplib2 examples启发):
import httplib2
h = httplib2.Http()
resp, content = h.request("http://127.0.0.1:5000/")