您的位置:首頁>正文

最適合新手練習的Python小項目!還是有難度的!用了五天整理

而互聯網的概念是:所有設備都提供獨特的標籤(總稱互聯網協定位址或IP位址), 有互聯網服務供應商(ISP)提供的公網IP位址, 通過這些位址, 可以進行通信。

如下圖:

2. web伺服器的基本概念, 包括連結建立後的傳輸過程

一個人自學很有可能因為動力不足而中途放棄, 可以嘗試加入一個或幾個適合自己的網路群體(QQ、 微信、 社區等),尋找志同道合的學習夥伴, 相互交流、相互促進.如果大家想要學習交流歡迎給我私信, 私信關鍵字: 01.02.03.04 都會得到不一樣的資料!系統堅持到關鍵字會自動發送。 分開發送!01或者02

上面內容中也提到了socket,

為了更好地理解我也查詢了相關內容。 注意python中的大部分網路程式設計模組都隱藏了socket模組的細節, 不直接和通訊端交互。 所以這裡我們只需要理解即可, 具體程式設計不需要考慮其中內容。

總結來說, 在這個實驗裡, 我們要實現的功能只是根據使用者的請求, 生成http回應。 所以我們也應該知道http請求和回應的格式:

這裡的異常是異常中基類Exception的子類,即

裡面什麼都不幹,但是利用Exception我們可以對異常報相應的錯誤資訊。raise 語句中括弧中就是異常的提示資訊。

/* 這裡

"Unknown object '{0}'".format(self.path)

二. 當可以回應靜態頁面之後,我們接著實現CGI協議與腳本。

某些請求可以用另外編寫腳本來處理(給出回應),這樣對於新增的一些請求,就不用每次都修改伺服器腳本了。為了更好地理解CGI,我們需要知道以下基本概念。

當實現了以上兩個功能後,我們只需在類似靜態頁面的實現那樣填補代碼邏輯即可,示意代碼如下:

三. 代碼整理和重構

3.1 條件類

從上述plain和cgi的兩個示意代碼中,大家可能已經發現:在對不同條件的判斷中,兩個代碼分別使用了if-elif-else語句形式和條件類的形式。其中前者理解很容易,而後者條件類是指將條件放置在不同的類中,然後迴圈遍歷這些類,看哪個符合則對應執行相應條件。這樣處理的好處在於易於維護:對於新加入的條件,不對改動if-elif-else使其變得臃腫,而只需增加一個類作為條件,同時在handler中迴圈遍歷即可。

如我們要增加一個功能:在輸入127.0.0.1:埠號時,我們希望得到主頁的顯示(存為index.html),這時我們就新建一個條件類:

同時在RequestHandler的實現中將其加入:

裡面對test和act的定義是通過斷言來實現的,內在邏輯是:如果你子類不實現這兩個方法, 那麼你生成的子類是一定會出錯的。於是這相當於是限定子類必須實現這兩種方法。之後子類繼承該基類即可:

2. web伺服器的基本概念,包括連結建立後的傳輸過程

3. http請求格式

4.http回應格式

5. httpie庫

8.CGI

(1)字串format方法

(2)**dict

(3)str/byte轉換

1. os庫

subprocess.check_output(['cmd', 'arg1', 'arg2'])

本例中為data = subprocess.check_output(['python', fullpath])

3. 寫基類,不雞肋

get到了吧!是不是很牛逼?

這裡的異常是異常中基類Exception的子類,即

裡面什麼都不幹,但是利用Exception我們可以對異常報相應的錯誤資訊。raise 語句中括弧中就是異常的提示資訊。

/* 這裡

"Unknown object '{0}'".format(self.path)

二. 當可以回應靜態頁面之後,我們接著實現CGI協議與腳本。

某些請求可以用另外編寫腳本來處理(給出回應),這樣對於新增的一些請求,就不用每次都修改伺服器腳本了。為了更好地理解CGI,我們需要知道以下基本概念。

當實現了以上兩個功能後,我們只需在類似靜態頁面的實現那樣填補代碼邏輯即可,示意代碼如下:

三. 代碼整理和重構

3.1 條件類

從上述plain和cgi的兩個示意代碼中,大家可能已經發現:在對不同條件的判斷中,兩個代碼分別使用了if-elif-else語句形式和條件類的形式。其中前者理解很容易,而後者條件類是指將條件放置在不同的類中,然後迴圈遍歷這些類,看哪個符合則對應執行相應條件。這樣處理的好處在於易於維護:對於新加入的條件,不對改動if-elif-else使其變得臃腫,而只需增加一個類作為條件,同時在handler中迴圈遍歷即可。

如我們要增加一個功能:在輸入127.0.0.1:埠號時,我們希望得到主頁的顯示(存為index.html),這時我們就新建一個條件類:

同時在RequestHandler的實現中將其加入:

裡面對test和act的定義是通過斷言來實現的,內在邏輯是:如果你子類不實現這兩個方法, 那麼你生成的子類是一定會出錯的。於是這相當於是限定子類必須實現這兩種方法。之後子類繼承該基類即可:

2. web伺服器的基本概念,包括連結建立後的傳輸過程

3. http請求格式

4.http回應格式

5. httpie庫

8.CGI

(1)字串format方法

(2)**dict

(3)str/byte轉換

1. os庫

subprocess.check_output(['cmd', 'arg1', 'arg2'])

本例中為data = subprocess.check_output(['python', fullpath])

3. 寫基類,不雞肋

get到了吧!是不是很牛逼?

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示