史上超詳細(xì)Python+Flask搭建服務(wù)器

Eclipse+servlet可以構(gòu)建自己的接口,搭建后臺,但當(dāng)你看了Flask后,覺得一切都是那么簡單,這就是框架的魅力。

系統(tǒng)環(huán)境:window10
python版本:3.5.2
1.下載python
https://www.python.org/downloads/
安裝的時候默認(rèn)安裝,只需要注意一個地方:


Add Python xx版本 to PATH,自動配置環(huán)境

安裝完成后,命令提示行輸入:python
會顯示安裝python版本,提示別的則沒有安裝成功。

2.下載PyCharm

PyCharm是開發(fā)Python的一種IDE。
這個是PyCharm的官網(wǎng):https://www.jetbrains.com/pycharm/
專業(yè)版和社區(qū)版,我用的是專業(yè)版。
下載完成后默認(rèn)安裝,選擇免費(fèi)試用,因?yàn)檫@個是收費(fèi)的,免費(fèi)時間過了可以在網(wǎng)上找激活碼。

3.安裝Flask

直接執(zhí)行
pip install flask
在Python 3.4 中, pyvenv 會自動安裝 pip,也就是說python3.4以上的你可以直接執(zhí)行這個命令,會自動安裝。

4.創(chuàng)建Flask項(xiàng)目

選擇Flask,默認(rèn)創(chuàng)建



創(chuàng)建完成后,是這樣的:



點(diǎn)擊運(yùn)行按鈕,如下:

點(diǎn)擊 http://127.0.0.1:5000 就可以在瀏覽器訪問了。



到此為止,第一個Flask項(xiàng)目完成了,恭喜你又學(xué)會了一種HelloWorld的寫法。

現(xiàn)在改些服務(wù)端的代碼,在移動端來調(diào)用
服務(wù)器端的數(shù)據(jù):
{
    "status": 1,
    "content": {
        "from": "python"
    }
}

移動端代碼寫個簡單的get請求:

new Thread(new Runnable() {
            @Override
            public void run() {
                URL url = null;
                try {
                    url = new URL(這里是你自己要調(diào)用的接口);
                    HttpURLConnection conn = (HttpURLConnection) url.openConnection();//與服務(wù)器建立連接
                    conn.setReadTimeout(5000);//設(shè)置讀取超時時間
                    conn.setConnectTimeout(5000);//設(shè)置連接超時時間
                    conn.setRequestMethod("GET");//設(shè)置請求方式
                    conn.connect();
                    if (conn.getResponseCode() == 200) {
                        InputStream in = conn.getInputStream();
                        String result = GetStream.InfoFromStream(in);
//                        JSONObject jo = new JSONObject(result);//將流里的數(shù)據(jù)用JSON解析
                        Log.i("log","======" + result);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }).start();
public class GetStream {
    public static String InfoFromStream(InputStream in) {
        ByteArrayOutputStream out = new ByteArrayOutputStream();//獲取字節(jié)數(shù)組輸出流
        byte[] buffer = new byte[1024];//每次輸出1024個字節(jié)
        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 {
                //在最后關(guān)閉流,不要在數(shù)據(jù)返回時就關(guān)閉
                out.close();
                in.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
    }
}

AndroiManifest.xml中加上網(wǎng)絡(luò)請求的權(quán)限即可,如下我們成功調(diào)用了服務(wù)端的接口并返回數(shù)據(jù):


安裝完成后,移步這里:史上超詳細(xì)的Flaks參數(shù)以及服務(wù)器響應(yīng)講解

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容