在 Python 中使用 ICMP Ping 驗證伺服器回應
當嘗試與遠端伺服器建立連線時,確定伺服器是否在線上且回應迅速。 Python 提供了一種執行 ICMP ping 來評估伺服器可用性的便捷方法。
ICMP ping 是一種網路診斷工具,可將特定的 ICMP Echo 請求封包傳送至目標主機名稱或 IP 位址。如果伺服器已啟動且可訪問,則會使用 ICMP Echo Reply 封包進行回應。在Python中,我們可以利用這個機制來檢索有關伺服器狀態的資訊。
使用Python的os模組:
Python標準函式庫包含os模組,它提供了執行 shell 指令的簡單方法。要執行 ICMP ping,我們可以使用 os.system() 函數,該函數執行系統命令並返回其退出狀態。
以下程式碼片段示範如何使用 os 模組 ping 伺服器:
<code class="python">import os hostname = "google.com" # Replace with desired server address param = '-n' if os.sys.platform().lower()=='win32' else '-c' response = os.system(f"ping {param} 1 {hostname}") if response == 0: print(f"{hostname} is up!") else: print(f"{hostname} is down!")</code>
在此範例中,-c 1 選項用於在退出之前執行單次 ping 嘗試。由於如果連線失敗,ICMP pinging 將傳回非零退出狀態,因此我們評估回應以確定伺服器是否成功回應。
這種方法在非 Windows 系統上有效,為伺服器可用性檢查。
以上是如何在 Python 中使用 ICMP Ping 檢查伺服器回應能力?的詳細內容。更多資訊請關注PHP中文網其他相關文章!