題:
如何在OS X上自動登錄到強制門戶?
Mathias Bynens
2012-03-23 16:51:22 UTC
view on stackexchange narkive permalink

我如何自動登錄OS X上的強制門戶?

強制門戶被(通常不是受密碼保護的)無線網絡使用,該無線網絡將網頁顯示為連接到它們之後,需要您登錄。

我必須經常登錄到這樣的其他無線網絡,而且所有的強制門戶似乎都不會記住我的登錄名/密碼信息。有沒有辦法以某種方式自動執行登錄過程,或者至少將登錄名/密碼對存儲在鑰匙串中?

更新:有一個名為 AutoWifi基本上可以解決這個問題。如果有可能在所有限制下在iOS上執行此操作,那麼肯定一定可以在OS X上執行類似操作,對吧?


相關有趣的事實: 這是Apple在OS X和iOS上測試強制門戶的方式:

OS X和iOS向 http://www.apple發出請求。每次您連接到WiFi網絡時com / library / test / success.html

從優勝美地開始,URL現在​​為: http://captive.apple.com/hotspot-detect.html

此URL返回以下HTML:

  <!DOCTYPE HTML PUBLIC“ -  // W3C // DTD HTML 3.2 // EN“><HTML><HEAD> <TITLE>Success< / TITLE>< / HEAD><BODY>Success< / BODY>< / HTML> 代碼> 
看一下/Library/Preferences/SystemConfiguration/CaptiveNetworkSupport/Settings.plist。在許多蘋果自己決定實施的解決方案之上,在此處操縱首選項可以輕鬆地增加嚴重的安全風險。我不確定使用哪種瀏覽器通過這些強制門戶進行連接,但是您也可以嘗試為它們設置網絡位置,或者根據要自動填充的內容創建一個簡單的宏。
就是這樣-每當OS X檢測到強制門戶時,它都會使用登錄頁面打開WebView彈出窗口(不是真正的瀏覽器用戶界面)。
如果您有機會發布彈出窗口的源代碼。
@ioi頁面的HTML源取決於網絡。彈出窗口出現後,只需打開任何瀏覽器並嘗試加載URL,就可以瀏覽到同一頁面。
哦,太酷了,那麼重寫,重定向或編寫腳本應該不是問題。實際取決於您如何處理它。在這種情況下,您確實無法編寫任何腳本。如果您需要更多詳細信息,請隨時與我ping聊天。
@ioi如果您可以編寫更多詳細的答案,那就太好了:)
當然;我需要知道主機使用的確切例程/方法(即登錄?同意?等)。
@ioi大多數都需要用戶名,密碼和勾選複選框。
沒有任何答案可以回答問題!
相關http://stackoverflow.com/questions/14606131/using-captive-network-assistant-on-macosx-to-connect-to-vpn
自10.10.2起,我無法使用任何強制門戶網站-讓我發瘋
有人知道Apple在OS X的哪一側記錄了此實現功能嗎?如果他們為開發人員和/或用戶提供了所有文檔。
這也是一個有趣的相關有趣事實,尤其是關於個人資料部分的內容:https://grpugh.wordpress.com/2014/10/29/an-undocumented-change-to-captive-network-assistant-settings-in-os-x-10-10-優勝美地/
九 答案:
cwd
2014-08-03 18:52:41 UTC
view on stackexchange narkive permalink

剛剛在OS X中發現了禁用網絡支持

其中提到“要禁用它,請設置此首選項:”

  sudo默認寫為/Library/Preferences/SystemConfiguration/com.apple.captive.control主動-布爾值false  

萬一您想刪除此設置,可以執行以下操作:

  sudo默認設置為delete /Library/Preferences/SystemConfiguration/com.apple.captive.control Active  

然後,如@Leon所述,使用常規Web瀏覽器登錄。或者,如果您在某種程度上無法正常工作的網絡上,則仍然可以嘗試手動打開該應用程序(位於 / System / Library / CoreServices / Captive Network Assistant.app

cwd ++這仍然是最好的答案。今天在Mojave上,我無法重命名或刪除Captive Network Assistant.app,但是我可以通過默認值強制禁用
Leon
2012-12-11 02:29:02 UTC
view on stackexchange narkive permalink

您可以將

  / System / Library / CoreServices / Captive Network Assistant.app  

重命名為

  / System / Library / CoreServices / No Captive Network Assistant.app  

,一切就緒。現在,可以通過您選擇的瀏覽器輸入密碼,並且可以使用1password或其他插件進行存儲。請注意,如果您在重命名時已經登錄,則會話可能需要一些時間才能過期...

期待測試出來:)沒有缺點?
儘管這可能是簡單的解決方案,但我認為cwd的答案是正確的方法,即使它是管理的。當我們想與蘋果公司“有所不同”時,Mac上的某些事情是蘋果公司迫使我們進行管理的。
在較新版本的macOS上,您需要先禁用系統完整性保護,然後才能重命名該文件。我不反對在必要時重命名系統內容,但在這種情況下,cwd的回答會更好。
Mac Cowell
2014-07-31 01:07:30 UTC
view on stackexchange narkive permalink

Tyilo在github上的 NetworkAutoLogin項目是一個os.x守護程序,它使用用戶提供的憑據“自動登錄到Captive Portal Networks”。

它使用PhantomJS & CasperJS將必要的信息發佈到強制門戶登錄頁面上的字段中。可能是秘密登錄“密碼”,用戶名-密碼對,或者只是激活了EULA複選框和“連接”按鈕。

我不記得確切的觸發方式,但是它註冊了一個帶有launchctl的.plist。

您將配置選項放在json文件中,在強制門戶網站頁面上指定字段集的名稱(可選)以及必要的字段名+內容對(必需)。這是存儲在〜/ .networkautologin.js

  {//中的配置文件示例,其中所有可能的選項都匹配:{SSID:['WiFi 1示例','Example WiFi 2'],BSSID:'01:23:45:67:89:AB',URL:'http://logon.example.org/?url=http://www.apple.com /library/test/success.html'},form_selector:“ form#login_form”,字段:{'username':'test','password':'123123'}}  
並不瘋狂,它要求在後台運行另一個守護程序
我已經對其進行了編譯,但是在出現預設的強製網絡登錄頁面時無法觀察到守護程序觸發器。
同樣(即使將其更新為優勝美地的新設置)
Pro Backup
2012-04-06 20:32:00 UTC
view on stackexchange narkive permalink

是否不刪除(或重命名) /Library/Preferences/SystemConfiguration/CaptiveNetworkSupport/Settings.plist 停止自動探測?

它至少可以停止打開

否則,將 Settings.plist 中的所有URL替換為 success.html 文件的本地託管副本,並託管 success.html 文件。

Alexander Unger
2015-07-15 15:08:53 UTC
view on stackexchange narkive permalink

我每隔5分鐘就會在家庭網絡上看到強制門戶請求。但我更改了文件 /Library/Preferences/SystemConfiguration/CaptiveNetworkSupport/Settings.plist

string: http://www.apple.com /library/test/success.html http://captive.apple.com/hotspot-detect.html (我的意思是ProbeURL部分)。apple更改了新操作系統的探測URL,我不知道為什麼,但是新URL響應為200(確定)並且應該可以工作(我在mbp 2011 Mavericks上遇到了相同的問題)。

Koes N
2018-10-05 09:38:09 UTC
view on stackexchange narkive permalink

在使用AppleScript,Lynx,Fakeapp / Safari和ControlPlane的一些幫助下,我的MacBook現在始終可以在我的辦公室中自動連接到強制門戶。它仍然不是一種有效的方法,但是仍然可以完美地完成工作。我希望有人可以簡化它。

這是代碼:

  1. 確保我們使用正確的SSID

     執行shell腳本“ /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | awk'/ SSID:/ {print $ 2}'”
     
  2. 檢查強制門戶地址是否存在

      try
        做shell腳本(“ ping -c 2” & CaptiveAddress)-在此處設置您的俘獲地址
        將CaptiveExist設置為“是”
    錯誤
        將CaptiveExist設置為“ no”
    結束嘗試
     
  3. 測試門戶連接

      try
        設置PortalOpened以執行shell腳本(“ / usr / local / bin / lynx --dump http://www.apple.com/library/test/success.html | grep'成功'”)
        如果PortalOpened為“成功”,則
            將PortalOpened設置為“是”
        其他
            將PortalOpened設置為“否”
        萬一
    錯誤
        將PortalOpened設置為“否”
    結束嘗試
     
  4. 登錄到門戶網站

     告訴應用程序“假”
        加載URL“ http://YourPortalAddress.html”-在此處輸入您的專屬地址
        將名稱為“用戶名”的元素的值設置為“用戶”
        將名稱為“ password”的元素的值以名稱“ password”的形式設置為“ password”
        ID為“ logincaption”的click元素
    結束告訴
     
  5. 將這些腳本另存為一個應用程序。然後,使用ControlPlane規則使其在以指定的SSID觸發時運行。

  6. ol>

    當然,俘虜的登錄表單可能還有其他HTML元素。您可以添加一些顯示對話框或通知,另一個具有自己的HTML元素和用戶名/密碼的不同SSID。 Fake是一個瀏覽器+自動化器,因此可以使生活更輕鬆。

    別忘了禁用強制登錄彈出窗口。現在,您的Mac 100%自動連接到門戶了。

    希望有幫助。

Matt Love
2012-03-23 17:28:35 UTC
view on stackexchange narkive permalink

強制門戶不像密碼。這更像是簽到單。每次您連接的網絡通過DHCP發出IP地址時,它都會為您提供強制登錄並同意的門戶,然後您就可以連接。據我了解,這是一個無法更改的跨平台限制。 可能是網絡管理員可以更改的內容,但即使如此,也可能取決於所用設備的類型。

沒錯,它更像是登錄表而不是密碼,但是令我驚訝的是似乎沒有一種簡單的方法可以自動填充此表:)在iOS上,有些應用程序可以處理這個。 OS X沒有類似的東西嗎?
iOS的哪些應用程序可以做到這一點?然後,您是否不必使用該應用程序進行網絡瀏覽等?
[AutoWiFi](http://itunes.apple.com/us/app/autowifi/id299484372)應用程序會自動處理此問題;您所要做的就是單擊“連接”一次,然後登錄。
thoni56
2017-02-16 16:33:11 UTC
view on stackexchange narkive permalink

雖然這個問題和答案已有幾年的歷史,但是在谷歌搜索中卻顯示出很高的水平。不幸的是,MacOS從那時起發生了變化。Macworld上自2016年以來的頁面似乎描述了當前(截至撰寫本文時)的狀態。

從本質上講,由於SIP,您只能在恢復模式下禁用助手。對於該問題的其他部分,我還沒有找到任何解決方案,“我們可以自動化登錄嗎?”

在High sierra中,似乎不再像此處建議的那樣重命名Captive \ Network \ Assistant.app。至少我什至無法以root身份運行。
您需要禁用該最新的MacOS操作保護功能。https://support.intego.com/hc/zh-CN/articles/115003523252-How-to-Disable-System-Integrity-Protection-SIP-我不知道這種方法是否仍然有效,但至少您現在可以嘗試。
Sadegh Hayeri
2019-02-17 00:26:30 UTC
view on stackexchange narkive permalink

您可以使用 Mili,這是我為自動登錄熱點頁面編寫的開源工具。它也可以在Linux上使用。

當您更改Wi-Fi連接時,Mili會檢查Mikrotik服務,然後嘗試使用您的登錄信息登錄。

您還可以使用以下多種登錄信息:

  {
    “ username”:“ USER 1”,
    “ password”:“ PASS 1”,
    “份額”:5
},
{
    “ username”:“ USER 2”,
    “ password”:“ PASS 2”,
    “份額”:1
}
 
歡迎問不同。網站規則要求您在答案中指出是否與所推薦的軟件關聯。在這種情況下,您是作者,但沒有在答案中說明。請參閱[answer]以獲取有關在此處提供答案的信息,並請[編輯]您的答案以包括缺少的信息。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...