第二十一章打通運維人員的任督二脈

webserver.py 內(nèi)容

# coding:utf-8
# 2019/4/3 10:14

import socket
from settings import url_list
from views import ret_404

ip = '10.0.102.245'
port = 9600
s = socket.socket(
        socket.AF_INET,  # IPV4
        socket.SOCK_STREAM
)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,1)
s.bind((ip, port))
s.listen(50)

use_agent_list = ["Mozilla",""]
while True:
    con, addr = s.accept()
    print("--->", addr)
    content = con.recv(8192)
    content_str = str(content, encoding='utf-8')
    try:
        request_heat, request_body = content_str.split('\r\n\r\n')
        heat_list = request_heat.split('\r\n')
        # print(request_heat)

        tag = False

        for item in heat_list:
            if 'User-Agent' in item:
                agent = item.split()[1]
                if agent.startswith("Mozilla"):
                    tag = True


        req_month, url, host_server = heat_list[0].split()
        # print(req_month, url)
        if req_month == "GET":
            if not tag:
                int("p")
                con.send(b"HTTP/1.1 500\r\n\r\n''")
                con.close()
                continue

            for web_url, func in url_list:

                if url == web_url:
                    ret = func()
                    heat = "HTTP/1.1 200 OK\r\n\r\n"
                    body = ret
                    ret_content = heat + body
                    con.send(bytes(ret_content, encoding='utf-8'))
                    break
            # if url == '/':
            #
            #     # 得到首頁的內(nèi)容
            #     ret = open_index()
            #     heat = "HTTP/1.1 200 OK\r\n\r\n"
            #     body = ret
            #     ret_content = heat + body
            #     con.send(bytes(ret_content, encoding='utf-8'))
            else:
                head = "HTTP/1.1 404 error\r\n\r\n"

                con.send(bytes(head + ret_404(),encoding='utf-8'))
    except Exception as e:
        pass

    con.close()
s.close()


"""
'GET / HTTP/1.1
Host: 10.0.102.245:9000
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3\r\nAccept-Encoding: gzip, deflate\r\nAccept-Language: zh-CN,zh;q=0.9,zh-TW;q=0.8,en;q=0.7


'


"""




settings.py 內(nèi)容

# coding:utf-8
# 2019/4/3 12:04
import views

# 路由系統(tǒng)
url_list = [
    ('/', views.open_index),
    ('/student', views.get_student),
]

views.py 內(nèi)容

# coding:utf-8
# 2019/4/3 12:04
from jinja2 import Template
import pymysql
from models import mymysql_con


# 視圖系統(tǒng)

def open_index():
    with open('./index.html', 'r', encoding='utf-8') as f:
        index = f.read()
    return index

def get_student():
    with open("./student.html", 'r', encoding='utf-8') as f:
        tpl = f.read()
        temp_obj = Template(tpl)
        conn = mymysql_con()
        # 獲取到的結(jié)果集是字典
        cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
        cursor.execute("select id,name from student;")
        user_list = cursor.fetchall()
        # print(user_list)

        content = temp_obj.render(user_list=user_list)
        return content

def ret_404():
    with open("./404.html", 'r', encoding='utf-8') as f:
        return f.read()
if __name__ == "__main__":
    info = get_student()
    print(info)

詳細資料 撩我這個鋼鐵直男 y86000153

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末颠区,一起剝皮案震驚了整個濱河市谭溉,隨后出現(xiàn)的幾起案子悼凑,更是在濱河造成了極大的恐慌,老刑警劉巖串结,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件跃捣,死亡現(xiàn)場離奇詭異自点,居然都是意外死亡生音,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門缩麸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來铸磅,“玉大人,你說我怎么就攤上這事杭朱≡淖校” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵弧械,是天一觀的道長八酒。 經(jīng)常有香客問我,道長刃唐,這世上最難降的妖魔是什么羞迷? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮画饥,結(jié)果婚禮上衔瓮,老公的妹妹穿的比我還像新娘。我一直安慰自己荒澡,他們只是感情好报辱,可當(dāng)我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布与殃。 她就那樣靜靜地躺著单山,像睡著了一般。 火紅的嫁衣襯著肌膚如雪幅疼。 梳的紋絲不亂的頭發(fā)上米奸,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天,我揣著相機與錄音爽篷,去河邊找鬼悴晰。 笑死,一個胖子當(dāng)著我的面吹牛逐工,可吹牛的內(nèi)容都是我干的铡溪。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼泪喊,長吁一口氣:“原來是場噩夢啊……” “哼棕硫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起袒啼,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤哈扮,失蹤者是張志新(化名)和其女友劉穎纬纪,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體滑肉,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡包各,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了靶庙。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片问畅。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖惶洲,靈堂內(nèi)的尸體忽然破棺而出按声,到底是詐尸還是另有隱情,我是刑警寧澤恬吕,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布签则,位于F島的核電站,受9級特大地震影響铐料,放射性物質(zhì)發(fā)生泄漏渐裂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一钠惩、第九天 我趴在偏房一處隱蔽的房頂上張望柒凉。 院中可真熱鬧,春花似錦篓跛、人聲如沸膝捞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蔬咬。三九已至,卻和暖如春沐寺,著一層夾襖步出監(jiān)牢的瞬間林艘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工混坞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留狐援,地道東北人。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓究孕,卻偏偏與公主長得像啥酱,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子厨诸,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容