17 python 網路程式設計

2022-02-18 13:56:06 字數 1442 閱讀 7252

tcp連線的斷點是由乙個ip位址和乙個埠號來唯一標識的

客戶端/伺服器

客戶端總是最開始申請連線的一端,伺服器則是等待客戶端連線的一段

伺服器的埠號如果不是特殊用土的一般應該大於1024,客戶端則由作業系統隨機挑選乙個埠號

建立乙個socket物件

s=socket.socket()
獲得計算機名

host=socket.gethostname()

>>> import

socket

>>> s=socket.socket()

>>> host=socket.gethostname()

>>> print

host

pc201609230952

>>>

實際計算機名:

socket物件的bind函式來繫結位址和埠號

s.bind((host,prot))
設定多少人可以連線到伺服器(還沒開始連)

s.listen(10)
伺服器呼叫accept方法後,會進入waiting狀態。當有客戶端請求連線時,accept會返乙個元組,裡面包含兩個元素,

connection, address = s.accept()
第乙個c是乙個新的連線客戶端的socket,第二個是客戶端的ip位址

傳送給客戶端資訊

c.send('

hello

')

關閉socket連線

c.close()
urllib包包含4個模組,在python3裡urllib匯入要用包名加模組名的方式。

該模組主要用於開啟http協議的url

import urllib.request
抓取某個**的所有html**,返回乙個request物件。(**要帶上協議)

urlobject=urllib.request.urlopen('')
用物件的read方法

print (urlobject.read(10))#列印出前10個字元,游標向後移動10位。如果read方法裡不寫數字預設列印出全部**
返回位元組型資料

>>> type(urlobject.read(10))

>>> print (urlobject.read(10))

b'>> print (urlobject.read(15))

b'html>\n\n\r\n\r\n\r\n\r'

>>>

執行了三次觀察了下,都已字母b開頭加乙個字串,字串裡面的字串就是read括號裡的數量,\n 或 \r 佔乙個字元

學習筆記17 Python 繼承

class 類名 父類名 class animal def eat self 在類中定義方法時,若該方法不涉及對屬性的操作 print 吃 pycharm會認為該方法是乙個靜態方法,而不是類方法 defdrink self print 喝 def run self print 跑 def sleep...

17 python 多型和多型性

1 測試 import abcclass animal metaclass abc.abcmeta 抽象類 裡面的方法必須是抽象方法 abc.abstractmethod 抽象方法 defspeak self pass class dog animal 繼承def speak self 多型 狗狗說...

17 Python之資料夾與檔案路徑

在作業系統處理檔案的觀念中會使用2個特殊符號.和.指的是當前資料夾,指的是上一層資料夾。但是在使用上,當指當前資料夾時也可以省略.coding utf 8 date 2020 1 22 20 36 author blueheart blog import os 取得當前工作目錄 os.getcwd ...