C 獲取公網ip位址

2021-09-06 20:24:27 字數 1677 閱讀 3622

1  通過httpwebrequest獲取網頁資料

}2 通過webclient獲取網頁資料

未知的原因httpwebrequest用正則解析不掙錢,只好使用httpwebrequest

3 使用正規表示式獲取ip位址

public static string parsehtml(string pagehtml)

.\d.\d.\d");

if (m.success)

ip = pagehtml;

return ip;

}

測試

var d1=parsehtml(d);學習知識:

webclient類提供向 uri 標識的資源傳送資料和從 uri 標識的資源接收資料的公共方法。 其實就相當於建立乙個請求客戶端。可以獲取網頁和各種各樣的資訊,包括互動。

webclient不能處理特定於任何協議的任何特性,例如cookie等。如果需要使用這些特性,需要使用.net中的httpwebrequest類。

system.web.httprequest是封裝瀏覽器對伺服器的請求的,主要用在asp.net中,其中包括瀏覽器請求的**,查詢字串資料或表單資料等等

需要設定使用者**,不然無法訪問。

m和n均為非負整數,其中n<=m。最少匹配n次且最多匹配m次。例如,「o」將匹配「fooooood」中的前三個o。「o」等價於「o?」。請注意在逗號和兩個數之間不能有空格。

\d匹配乙個數字字元。等價於[0-9]。

所以 \d.就是匹配3個數字字元 比如 :192.168.102 匹配192.

最開始正規表示式是 \d.\d.\d.\d  結果 2>118.116.117.220

發現 有2> 是上面的標籤 ,去掉2>,也就是去掉數字加上『>』標籤

查閱正規表示式規則 發現:

(?!pattern)

正向否定預查,在任何不匹配pattern的字串開始處匹配查詢字串。這是乙個非獲取匹配,也就是說,該匹配不需要獲取供以後使用。例如「windows(?!95|98|nt|2000)」能匹配「windows3.1」中的「windows」,但不能匹配「windows2000」中的「windows」。

改為 (?!\d>)\d.\d.\d.\d  結果:118.116.117.220

C 獲取電腦IP位址

大佬們,我通過以下方法讀取電腦網絡卡的ip位址,但是當讀取有線網絡卡的ip時,會讀到兩個ipv4位址,這個是怎麼回事?求解。在這裡插入描述 ipinte ceproperties property netint.getipproperties foreach unicastipaddressinfo...

c 獲取本機IP位址

try catch exception ex 但是以上獲取ip位址的方法,可能獲取不到你想要的ip位址,比如,你本機開啟了虛擬機器,vpn等,都會增加ip位址 string localip using socket socket new socket addressfamily.internetwo...

獲取IP位址

獲取ip位址 方法一 方法二 1.在asp.net 中專用屬性 獲取伺服器電腦名 page.server.manchinename 獲取使用者資訊 page.user 獲取客戶端電腦名 page.request.userhostname 獲取客戶端電腦ip page.request.userhost...