史上超详细Python+Flask搭建服务器

Eclipse+servlet可以构建自己的接口,搭建后台,但当你看了Flask后,觉得一切都是那么简单,这就是框架的魅力。

系统环境:window10
python版本:3.5.2
1.下载python
https://www.python.org/downloads/
安装的时候默认安装,只需要注意一个地方:

《史上超详细Python+Flask搭建服务器》

Add Python xx版本 to PATH,自动配置环境

安装完成后,命令提示行输入:python
会显示安装python版本,提示别的则没有安装成功。

2.下载PyCharm

PyCharm是开发Python的一种IDE。
这个是PyCharm的官网:https://www.jetbrains.com/pycharm/
专业版和社区版,我用的是专业版。
下载完成后默认安装,选择免费试用,因为这个是收费的,免费时间过了可以在网上找激活码。

3.安装Flask

直接执行
pip install flask
在Python 3.4 中, pyvenv 会自动安装 pip,也就是说python3.4以上的你可以直接执行这个命令,会自动安装。

4.创建Flask项目

选择Flask,默认创建

《史上超详细Python+Flask搭建服务器》

创建完成后,是这样的:

《史上超详细Python+Flask搭建服务器》

点击运行按钮,如下:

《史上超详细Python+Flask搭建服务器》

点击 http://127.0.0.1:5000 就可以在浏览器访问了。

《史上超详细Python+Flask搭建服务器》

到此为止,第一个Flask项目完成了,恭喜你又学会了一种HelloWorld的写法。

《史上超详细Python+Flask搭建服务器》

现在改些服务端的代码,在移动端来调用

服务器端的数据:

{
    "status": 1,
    "content": {
        "from": "python"
    }
}

移动端代码写个简单的get请求:

new Thread(new Runnable() {
            @Override
            public void run() {
                URL url = null;
                try {
                    url = new URL(这里是你自己要调用的接口);
                    HttpURLConnection conn = (HttpURLConnection) url.openConnection();//与服务器建立连接
                    conn.setReadTimeout(5000);//设置读取超时时间
                    conn.setConnectTimeout(5000);//设置连接超时时间
                    conn.setRequestMethod("GET");//设置请求方式
                    conn.connect();
                    if (conn.getResponseCode() == 200) {
                        InputStream in = conn.getInputStream();
                        String result = GetStream.InfoFromStream(in);
//                        JSONObject jo = new JSONObject(result);//将流里的数据用JSON解析
                        Log.i("log","======" + result);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }).start();
public class GetStream {
    public static String InfoFromStream(InputStream in) {
        ByteArrayOutputStream out = new ByteArrayOutputStream();//获取字节数组输出流
        byte[] buffer = new byte[1024];//每次输出1024个字节
        int len = 0;
        try {
            while ((len = in.read(buffer)) != -1) {//输出的和读取的是一样的
                out.write(buffer, 0, len);
            }
           return out.toString();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                //在最后关闭流,不要在数据返回时就关闭
                out.close();
                in.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
    }
}

AndroiManifest.xml中加上网络请求的权限即可,如下我们成功调用了服务端的接口并返回数据:

《史上超详细Python+Flask搭建服务器》

安装完成后,移步这里:
史上超详细的Flaks参数以及服务器响应讲解

    原文作者:凌烟醉卧
    原文地址: https://www.jianshu.com/p/cd1925e90eda
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞