獲取本機外網IP相關

2022-01-28 17:23:56 字數 1063 閱讀 4151

今天檢測本機ip的時候,本來是只需要檢測出來內網ip的,突然對獲取外網ip的方法有了些興趣,就去網上搜了一下。

網上的方法倒是挺一致,連線可以查詢ip的**,然後返回這個網頁的資訊,用正規表示式檢索出來,雖然相當於沒有在本地實現,但是只要能獲取到,結果都是一樣的,我就**加上試了一下,但是,呼叫getresponse()返回:遠端伺服器返回錯誤: (403) 已禁止,這算是怎麼回事?大神們的**都不除錯的嗎?寫完都不看結果的嗎?

string str = getpage("

");static

string getpage(string

url)}}

catch

(system.exception e)

finally

}

req.useragent = "hello web";新增之後沒問題了。

然後再說下乙個問題,關於正規表示式的匹配,在獲取到的介面中查詢ip的時候,@"

ip: \[(?[0-9\.]*)\]

",我不知道為什麼要這麼檢索,理論上我需要查詢的只是ip位址,具體這個位址前面加不加ip:之類的東西我完全不需要關心,而且,這個檢測ip的也不對,ip位址的規則是不可能0-9都行的。

完整**如下,測試通過:

string patt = @"

((25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.)(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|[1-9])";

string url = "

";string str =regex.match(getpage(url), patt).value;

static

string getpage(string

url)}}

catch

(system.exception e)

finally

}

本來挺簡單的乙個功能,查問題查了乙個晚上,大家寫出來的東西,還是最好能保證測試通過吧,穩定性,健壯性,異常什麼的不說,但是總不能一次都成功不了吧。http頭的規範我還是有些疑惑,以後再看吧。

C 獲取本機內網外網IP

c 獲取本機內網外網ip using system.net region 獲取內 外網ip 獲取本地ip位址,優先取內網ip public static string getlocalip 獲取本地ip位址。多個ip public static string getlocalipaddress 獲取...

Window Linux檢視本機外網ip

我們上網用的ip並不一定是本機網絡卡的ip位址,由於公網ip位址稀少,國內絕大多數電腦上網,一般都是通過撥號或者埠對映。多個內網位址對映到乙個公網位址來實現上網的。windows 檢視本地ipipconfiglinux 檢視本地ipifconfig內網ip要訪問外網,需要通過nat network ...

獲取本機IP

獲取本機ip char name 255 gethostname name,sizeof name cstring ip lphostent lphost lphost gethostbyname name in addr ppaddr in addr lphost h addr list in a...