看上心意的小姐姐,想看她平時(shí)都瀏覽什么網(wǎng)頁(yè)螃概,如何才能看她的桌面呢矫夯,都說(shuō)Python很厲害,這次我們做一個(gè)利用移動(dòng)端訪問(wèn)電腦來(lái)查看電腦的界面的神器吊洼!不知道大家以前有沒有做過(guò)這方面的東西呢茧痒?也許大家聽起來(lái)還有點(diǎn)不太理解,沒有關(guān)系融蹂,下面小編就帶領(lǐng)大家來(lái)看一下這個(gè)炫酷的操作旺订,程序運(yùn)行的結(jié)果如下圖所示。
上圖是程序執(zhí)行的圖片超燃,而下圖是在手機(jī)端訪問(wèn)電腦時(shí)区拳,所返回的電腦端的界面,為了更加直觀的進(jìn)行展示意乓,小編特地為大家做了一個(gè)小的展示視頻樱调,如下圖所示:
截圖鎮(zhèn)樓
從視頻中约素,我們可以看到,經(jīng)過(guò)手機(jī)端可以訪問(wèn)到電腦此時(shí)桌面的顯示內(nèi)容笆凌,而且是不斷的進(jìn)行刷新顯示的圣猎,當(dāng)我們切換電腦的桌面后,手機(jī)端進(jìn)行下一次的刷新之后同樣會(huì)顯示此時(shí)電腦桌面的顯示內(nèi)容乞而。
原理解釋
下面送悔,小編就來(lái)為大家闡述這個(gè)操作是如何完成的吧,這里我們用到了基于python的網(wǎng)絡(luò)編程爪模。程序很簡(jiǎn)單欠啤,只有短短的五十行左右,其核心代碼如下圖所示屋灌。
首先我們需要將我們的電腦用作客戶端洁段;
然后通過(guò)實(shí)例化一個(gè)socket來(lái)監(jiān)聽有無(wú)客戶端進(jìn)行請(qǐng)求,當(dāng)沒有客戶端進(jìn)行請(qǐng)求時(shí)共郭,服務(wù)端端口就一直監(jiān)聽等待祠丝;
當(dāng)有客戶端進(jìn)行請(qǐng)求時(shí)便進(jìn)行服務(wù)端與客戶端的數(shù)據(jù)傳輸,示意圖如下所示除嘹。
當(dāng)我們的數(shù)據(jù)服務(wù)端向客戶端進(jìn)行數(shù)據(jù)傳輸時(shí)写半,有一個(gè)默認(rèn)的傳輸內(nèi)容,我們通過(guò)獲取客戶端獲取到的內(nèi)容憾赁,可以對(duì)服務(wù)端傳輸?shù)膬?nèi)容進(jìn)行更改,我們將服務(wù)端傳輸?shù)膬?nèi)容改成下圖所示的html內(nèi)容散吵。
此時(shí)客戶端所收到的內(nèi)容中便會(huì)攜帶“desktop.png”關(guān)鍵詞龙考,當(dāng)滿足這個(gè)條件時(shí),我們只需要調(diào)用PIL庫(kù)中的截屏函數(shù)矾睦,并將截屏后的圖像傳輸給客戶端即可晦款。然后客戶端就會(huì)展現(xiàn)出來(lái)服務(wù)端返回的內(nèi)容,也就是當(dāng)前頁(yè)面的圖像了枚冗。?很多小伙伴在學(xué)習(xí)Python的過(guò)程中往往因?yàn)闆]有資料或者沒人指導(dǎo)從而導(dǎo)致自己不想學(xué)下去了缓溅,因此我特意準(zhǔn)備了大量的PDF書籍、視頻教程赁温,都免費(fèi)送給大家坛怪!不管你是零基礎(chǔ)還是有基礎(chǔ)都可以獲取到自己相對(duì)應(yīng)的學(xué)習(xí)禮包!包括Python軟件工具和2019最新入門到實(shí)戰(zhàn)教程股囊,(http://nxw.so/3rsqX)復(fù)制到瀏覽器打開袜匿!
最后透露一下:****是如何訪問(wèn)服務(wù)端的接口呢?很簡(jiǎn)單稚疹,我們只需要在任何一個(gè)瀏覽器下輸入“IP:PORT”即可居灯。這個(gè)IP就是服務(wù)端的IP地址,而PORT就是服務(wù)端進(jìn)行監(jiān)聽的端口號(hào),如下圖所示:
以上就是小編為大家?guī)?lái)的小分享怪嫌,大家也趕快動(dòng)手實(shí)踐起來(lái)吧义锥。