謹防Python攻破電腦桌面
如何才能看一個人的桌面呢,都說Python很厲害,就來做一個利用移動端訪問電腦來查看電腦的界面的神器!
不知道大家以前有沒有做過這方面的東西呢?也許大家聽起來還有點不太理解,沒有關系,下面就帶領大家來看一下這個炫酷的操作,程序運行的結(jié)果如下圖所示。

上圖是程序執(zhí)行的圖片,而下圖是在手機端訪問電腦時,所返回的電腦端的界面,為了更加直觀的進行展示,經(jīng)過手機端可以訪問到電腦此時桌面的顯示內(nèi)容,而且是不斷的進行刷新顯示的,當切換電腦的桌面后,手機端進行下一次的刷新之后同樣會顯示此時電腦桌面的顯示內(nèi)容。
為大家闡述這個操作是如何完成的吧,這里用到了基于python的網(wǎng)絡編程。程序很簡單,只有短短的五十行左右,其核心代碼如下圖所示。

- 首先需要將我們的電腦用作客戶端;
- 通過實例化一個socket來監(jiān)聽有無客戶端進行請求,當沒有客戶端進行請求時,服務端端口就一直監(jiān)聽等待;
- 客戶端進行請求時便進行服務端與客戶端的數(shù)據(jù)傳輸,示意圖如下所示。
當數(shù)據(jù)服務端向客戶端進行數(shù)據(jù)傳輸時,有一個默認的傳輸內(nèi)容,通過獲取客戶端獲取到的內(nèi)容,可以對服務端傳輸?shù)膬?nèi)容進行更改,將服務端傳輸?shù)膬?nèi)容改成下圖所示的html內(nèi)容。

此時客戶端所收到的內(nèi)容中便會攜帶“desktop.png”關鍵詞,當滿足這個條件時,只需要調(diào)用PIL庫中的截屏函數(shù),并將截屏后的圖像傳輸給客戶端即可。然后客戶端就會展現(xiàn)出來服務端返回的內(nèi)容,也就是當前頁面的圖像了。
最后解釋一下:是如何訪問服務端的接口呢?很簡單,只需要在任何一個瀏覽器下輸入“IP:PORT”即可。這個IP就是服務端的IP地址,而PORT就是服務端進行監(jiān)聽的端口號,如下圖所示:

學會了嗎,可不要外傳額!