Python

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伺服器,兩種都可以得到相同的結果。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s