閱讀文本大概需要 3 分鐘。
看上心意的小姐姐,想看她平時都瀏覽什麼網頁,如何才能看她的桌面呢,都說Python很厲害,這次我們做一個利用移動端訪問電腦來查看電腦的界面的神器!
不知道大家以前有沒有做過這方面的東西呢?也許大家聽起來還有點不太理解,沒有關係,下面小編就帶領大家來看一下這個炫酷的操作,程序運行的結果如下圖所示。
上圖是程序執行的圖片,而下圖是在手機端訪問電腦時,所返回的電腦端的界面,爲了更加直觀的進行展示,小編特地爲大家做了一個小的展示視頻,如下圖所示:
視頻鎮樓
從視頻中,我們可以看到,經過手機端可以訪問到電腦此時桌面的顯示內容,而且是不斷的進行刷新顯示的,當我們切換電腦的桌面後,手機端進行下一次的刷新之後同樣會顯示此時電腦桌面的顯示內容。
原理解釋
下面,小編就來爲大家闡述這個操作是如何完成的吧,這裏我們用到了基於python的網絡編程。程序很簡單,只有短短的五十行左右,其核心代碼如下圖所示。
-
首先我們需要將我們的電腦用作客戶端;
-
然後通過實例化一個socket來監聽有無客戶端進行請求,當沒有客戶端進行請求時,服務端端口就一直監聽等待;
-
當有客戶端進行請求時便進行服務端與客戶端的數據傳輸,示意圖如下所示。
當我們的數據服務端向客戶端進行數據傳輸時,有一個默認的傳輸內容,我們通過獲取客戶端獲取到的內容,可以對服務端傳輸的內容進行更改,我們將服務端傳輸的內容改成下圖所示的html內容。
此時客戶端所收到的內容中便會攜帶“desktop.png”關鍵詞,當滿足這個條件時,我們只需要調用PIL庫中的截屏函數,並將截屏後的圖像傳輸給客戶端即可。然後客戶端就會展現出來服務端返回的內容,也就是當前頁面的圖像了。
最後透露一下:是如何訪問服務端的接口呢?很簡單,我們只需要在任何一個瀏覽器下輸入“IP:PORT”即可。這個IP就是服務端的IP地址,而PORT就是服務端進行監聽的端口號,如下圖所示:
大家也趕快動手實踐起來吧。
往期推薦
01
02
03