2012-07-10 63 views
4

我已经配置python服务器使用瓶框架。 现在我想从我的桌面应用程序发送请求到服务器。 我的服务器位置是:http://127.0.0.1:5000/如何从桌面应用程序发送http请求到python烧瓶服务器?

我已经编写了可从浏览器使用的代码,但我想从我的桌面应用程序访问该代码。

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

您是否尝试过使用python标准库httplib

或者更好的httplib2

这里是一个GET测试(由httplib2 examples启发):

import httplib2 
h = httplib2.Http() 
resp, content = h.request("http://127.0.0.1:5000/") 
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]> 
+0

为什么你推荐一个外部模块没有道理? – 2012-07-26 07:22:36

+1

@BlaXpirit因为它易于使用! – codecool 2012-07-26 08:32:16

相关问题