Reputation: 181
I have configured python server using flask framework.
Now I want to send request to server from my desktop application.
My server location is : http://127.0.0.1:5000/
I have written code which work from browser but i want to access that code from my desktop app.
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()
Upvotes: 5
Views: 3114
Reputation: 6046
You have to use a python library to access the url from the desktop app.
Try requests module. It makes working with http request easy and describes itself as an elegant and simple HTTP library for Python, built for human beings.
Sample code:
>>> r = requests.get('http://127.0.0.1:5000')
>>> r.status_code
<Response [200]>
Upvotes: 7
Reputation: 80801
Did you try to use the python standard library httplib ?
Or the even better httplib2.
Here is a GET test (inspired by httplib2 examples) :
import httplib2
h = httplib2.Http()
resp, content = h.request("http://127.0.0.1:5000/")
Upvotes: 4