為了想讓組里的服務器連外網下數據,需要命令行上網登錄。與很多高校的上網方式一樣,大氣所上網采用的是用戶帳號登錄驗證的方法。上網需要需要先開瀏覽器,然后打開網頁輸入帳號密碼登錄。參考了前人的一些帖子,最終嘗試,得到成功。
1 先打開瀏覽器,進入登錄界面。
2 啟動開發者工具(chrome瀏覽器是按F12)
3 點擊開發者工具中的Network選項卡,勾選其中的Preserve log選項
4 在網頁中輸入用戶名和密碼,登錄上網。隨后在開發者工具面板中的Name窗口中查找跟登錄有關的關鍵字字段。如果選中一個關鍵字字段,其對應Headers選項卡中出現From Data條目,則該關鍵字字段是和登錄有關的字段(有的高校的關鍵字字段是login,大氣所的是webAuth)。在找到的關鍵字字段上右鍵,Copy,Copy as cURL(bash),就復制了相應的登錄命令。
5 在bash命令行輸入復制的命令。經過試驗,應該是只要輸入網址和--data參數就可以。
curl 'http://159.226.119.25/webAuth/' --data 'username=[用戶名]&password=[加密后的密碼]&pwd=[加密后的密碼]&secret=true' --compressed
6 關於登出上網賬號,參考上面相同方法。經過嘗試,大氣所登出上網賬號的命令行如下:
curl 'http://159.226.119.25/ajaxlogout?_t=1557234881666' -H 'DNT: 1' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: zh-CN,zh;q=0.9' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36' -H 'Accept: */*' -H 'Referer: http://159.226.119.25/' -H 'Cookie: ac_login_info=passwork' -H 'Connection: keep-alive' --compressed ;
參考網址:
1. 使用curl登陸上網賬號 https://blog.51cto.com/mayuenjkxt/1564071
2. python實現校園網自動登錄 https://blog.csdn.net/shenhuaifeng/article/details/78333851
3. 校園網賬號自動登錄 https://blog.csdn.net/ujsDui/article/details/79192225
4, 基於python和cURL實現網絡服務自動認證 https://blog.csdn.net/hijack00/article/details/52462290