第20章 Web程式設計 1

2021-06-01 06:36:14 字數 2378 閱讀 2761

20.1 介紹

20.1.1 web應用:客戶端/伺服器計算

web客戶端和伺服器端互動使用的「語言」,web互動的標準協議是http(超文字傳輸協議)。http協議是tcp/ip協議的上層協議,這意味著http協議依靠tcp/ip協議來進行底層的交流工作。它的職責不是路由或者傳遞訊息(tcp/ip協議處理這些),而是通過傳送、接收http訊息來處理客戶端的請求。

http協議屬於無狀態協議,它不跟蹤從乙個客戶端到另乙個客戶端的請求資訊。每個請求缺乏上下文背景。

20.1.2 網際網路

網際網路是由多種工作在一定順序下(也許非連貫的)相互連線的網路組成的。

20.2 使用python進行web應用:建立乙個簡單的web客戶端

url(統一資源定位器,uniform resource locator)的web位址。這個位址用來在web上定位乙個文件,或者呼叫乙個cgi程式來為你的客戶端產生乙個文件。url是大型識別符號uri(統一資源標識, uniform resource identifier)的一部分。

url格式: prot_sch://net_loc/path;params?query#frag

20.2.2 urlparse模組

urlparse模組提供了操作url字串的基本功能。

>>>urlparse()將urlstr解析成乙個6元組。

urlunparse()拼合乙個6元組為乙個urlstr

urljoin()取得baseurl,並將其基路徑與newurl連線起來

>>> urlparse.urljoin("", "/414719286/infocenter")

'/414719286/infocenter'

>>>

20.2.3 urllib模組

1. urllib.urlopen()

>>> import urllib

>>> file = urllib.urlopen("")

>>> for linedata in file.readlines():

... print linedata

...

urlopen()開啟urlstr所指向的url,以檔案流的形式讀取url位址的內容。

get和post請求是向web伺服器上傳資料的兩種方法。

2. urllib.urlretrieve()

>>> urllib.urlretrieve("", "c:\\documents and settings\\10170660\\desktop\\123.txt")

('c:\\documents and settings\\10170660\\desktop\\123.txt', )

>>>

3. urllib.quote()和urllib.quote-plus()

quote*()函式獲取url資料,並將其編碼,從而適用於url字串中。尤其一些不能被列印的或者不被web伺服器作為有效url接收的特殊字串必須被轉換。

>>>

4. urllib.unquote()和urllib.unquote_plus()

unquote()函式將會把urldata中所有的url-編碼字母都解碼,並返回字串。

接收字典的鍵值對,並將其編譯成cgi請求的url字串。

>>> adict = 

>>> urllib.urlencode(adict)

'mail=xufei96%40hotmail.com&name=anders'

>>>

C程式語言 第1章 1

練習1 1 在你自己的系統執行 hello,world 程式。再有意去掉程式中的部分內容,看看會得到什麼出錯資訊。1 void main 2練習1 2 做個實驗,當printf函式的引數字串中包括 c 其中c是上面的轉義字元序列中未曾列出的某乙個字元 是,觀察一下會出現什麼情況。1 void mai...

第1章 深入web請求過程

不管網路架構如何變化,但始終有一些固定不變的原則需要遵守。1,網際網路上所有資源都要用乙個url來表示。url就是統一資源定位符。2,必須基於http協議與服務端互動。如何發起乙個http請求?發起乙個http請求和建立乙個socket連線區別不大,只不過outputstream,write寫的二進...

第1章 程式設計C語言

例1.1要求在螢幕上輸出以下一行資訊 include intmain 例1.2求兩個整數之和 include intmain 執行結果如下 例1.3求兩個整數中的較大者 include intmain intmax int x,int y 建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 k...