Python利用socket連線取得自己的IP位址

在有些情況下我們需要在程式中知道本地端電腦的連線IP位置,有許多種方法可以使用,在這裡我們使用的是Python程式的socket模組。程式如下:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("168.95.1.1",80))
ip_address = s.getsockname()[0]
print(ip_address)

它的原理很簡單,就是利用socket模組的connect是建立一個遠端的連線,然後再查詢自己建立的連線資訊就可以了。程式中第3行所使用的IP位址要是確定能夠建立連線的遠端電腦,一般來說都是使用現有的DNS服務器,以這個程式例的IP位址指的就是中華電信的DNS伺服器,同學們也可以使用8.8.8.8,這個Google所提供的DNS伺服器,兩種都可以得到相同的結果。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *