日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python进阶九_网络编程

發(fā)布時(shí)間:2025/3/14 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python进阶九_网络编程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Python網(wǎng)絡(luò)編程一

一.一些基本概念

Python網(wǎng)絡(luò)編程這一節(jié)中會(huì)涉及到很多網(wǎng)絡(luò)相關(guān)的術(shù)語,對(duì)于一些最基本的概念,如TCP/IP,Socket等等不再贅述,不明白的可以自己去查一查,對(duì)于一些常見但是可能不是很熟悉的術(shù)語這里做了一個(gè)簡要的介紹,后續(xù)遇到不會(huì)因此止步。

SNTP:簡單網(wǎng)絡(luò)時(shí)間協(xié)議(Simple?Network?Time??Protocol)簡單來說就是用來同步因特網(wǎng)中的計(jì)算機(jī)時(shí)鐘,需要注意的是這里的SNTP是用戶數(shù)據(jù)報(bào)(UDP)協(xié)議。

MIME:Multipurpose?Internet?Mail?Extensions)多用途互聯(lián)網(wǎng)郵件擴(kuò)展類型,就是設(shè)定某種擴(kuò)展名的文件用一種應(yīng)用程序來打開的方式類型,當(dāng)該擴(kuò)展名文件被訪問的時(shí)候,瀏覽器會(huì)自動(dòng)使用指定應(yīng)用程序來打開。多用于指定一些客戶端自定義的文件名,以及一些媒體文件打開方式。

POP3:郵件協(xié)議的第三個(gè)版本,它是規(guī)定個(gè)人計(jì)算機(jī)如何連接到互聯(lián)網(wǎng)上的郵件服務(wù)器進(jìn)行收發(fā)郵件的協(xié)議。它是因特網(wǎng)電子郵件的第一個(gè)離線協(xié)議標(biāo)準(zhǔn),POP3協(xié)議允許用戶從服務(wù)器上把郵件存儲(chǔ)到本地主機(jī)(即自己的計(jì)算機(jī))上,同時(shí)根據(jù)客戶端的操作刪除或保存在郵件服務(wù)器上的郵件,而POP3服務(wù)器則是遵循POP3協(xié)議的接收郵件服務(wù)器,用來接收電子郵件的。POP3協(xié)議是TCP/IP協(xié)議族中的一員,由RFC?1939?定義。本協(xié)議主要用于支持使用客戶端遠(yuǎn)程管理在服務(wù)器上的電子郵件

SSL:安全套接層(Secure?Sockets?Layer?),及其繼任者傳輸層安全(Transport?Layer?SecurityTLS)是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。TLSSSL在傳輸層對(duì)網(wǎng)絡(luò)連接進(jìn)行加密。

IRC:IRCInternet?Relay?Chat?的英文縮寫,中文一般稱為互聯(lián)網(wǎng)中繼聊天。它是由芬蘭人Jarkko?Oikarinen1988年首創(chuàng)的一種網(wǎng)絡(luò)聊天協(xié)議。經(jīng)過十年的發(fā)展,目前世界上有超過60個(gè)國家提供了IRC的服務(wù)。IRC的工作原理非常簡單,您只要在自己的PC上運(yùn)行客戶端軟件,然后通過因特網(wǎng)以IRC協(xié)議連接到一臺(tái)IRC服務(wù)器上即可。它的特點(diǎn)是速度非常之快,聊天時(shí)幾乎沒有延遲的現(xiàn)象,并且只占用很小的帶寬資源。所有用戶可以在一個(gè)被稱為\"Channel\"(頻道)的地方就某一話題進(jìn)行交談或密談。每個(gè)IRC的使用者都有一個(gè)Nickname(昵稱)。

LDAP:LDAP是輕量目錄訪問協(xié)議,英文全稱是Lightweight?Directory?Access?Protocol,一般都簡稱為LDAP。它是基于X.500標(biāo)準(zhǔn)的,但是簡單多了并且可以根據(jù)需要定制。與X.500不同,LDAP支持TCP/IP,這對(duì)訪問Internet是必須的。LDAP的核心規(guī)范在RFC中都有定義,所有與LDAP相關(guān)的RFC都可以在LDAPman?RFC網(wǎng)頁中找到.

二.簡單的Socket通信

首先我們來看一個(gè)簡單的示例:



在這個(gè)示例中,有幾點(diǎn)需要說明一下:

1.這個(gè)示例中無論是在服務(wù)器端還是客戶端都頻繁使用了encode()decode()轉(zhuǎn)碼和解碼,這是很必要的,否則會(huì)出現(xiàn)TypeError:'str'?does?not?support?the?buffer?interface至于原因,可以查看一下Python3的官方文檔,官方文檔大體是這么個(gè)意思,就是說,從Python2Python3的演變時(shí),套接字傳送的數(shù)據(jù)全部轉(zhuǎn)變成Byte類型了,也即:

socket.send(bytes[,?flags])?形參為字節(jié)類型

socket.recv(bufsize[,?flags])?Receive?datafrom?the?socket.?The?return?value?is?a?bytes?object?representing?the?data?received.

?

所以需要用encode()decode()轉(zhuǎn)碼和解碼,至于encode()decode(),官方給出的解釋是這樣的:

Codec.encode(input[,?errors])

Encodes?the?object?input?and?returns?atuple?(output?object,?length?consumed).?Encoding?converts?a?string?object?to?abytes?object?using?a?particular?character?set?encoding

?

Codec.decode(input[,?errors])

Decodes?the?object?input?and?returns?atuple?(output?object,?length?consumed).?Decoding?converts?a?bytes?objectencoded?using?a?particular?character?set?encoding?to?a?string?object.

input?must?be?a?bytes?object?or?one?whichprovides?the?read-only?character?buffer?interface?–?for?example,?buffer?objectsand?memory?mapped?files

這里官方的解釋應(yīng)該算是很明了了吧。

2.剛剛的示例中使用的是用戶數(shù)據(jù)報(bào)協(xié)議(UDP),并不關(guān)心可靠性,還有一種可靠協(xié)議TCP/IP,我們也來試一下:



三.一些常見的Socket運(yùn)用

1.郵件發(fā)送

在郵件發(fā)送這一塊,我試了很多次郵箱,發(fā)現(xiàn)163的郵箱一次成功,但是QQ郵箱總是登陸不上,花了好長時(shí)間都沒找到原因,頭有點(diǎn)暈了。。。還希望有過了解的朋友能夠指點(diǎn)一二。但平時(shí)用的最多的還是qq郵箱和gmail郵箱,前者行不通就試了一下后者,發(fā)現(xiàn)效果還挺好的,如下:

我們來看一下結(jié)果:


我們來看一下結(jié)果:


雖然Python對(duì)于網(wǎng)絡(luò)這一塊很是方便,但是學(xué)起來還是感覺問題多多,突然發(fā)現(xiàn)天亮了,好累,睡覺去了


轉(zhuǎn)載于:https://www.cnblogs.com/ainima/p/6331115.html

總結(jié)

以上是生活随笔為你收集整理的python进阶九_网络编程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。