c 判斷客戶端ip地區

2021-10-05 14:03:52 字數 2612 閱讀 7401

public class ipscaner 

//公共屬性#region 公共屬性 

public string datapath  } 

public string ip  } 

public string country  } 

public string local  } 

public string errmsg  }

//搜尋匹配資料#region 搜尋匹配資料 

private int qqwry() 

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

regex objre = new regex(pattern); 

match objma = objre.match(ip); 

if(!objma.success) 

long ip_int = this.iptoint(ip); 

int nret=0; 

if(ip_int>=iptoint("127.0.0.0")&&ip_int<=iptoint("127.255.255.255")) 

else if((ip_int>=iptoint("0.0.0.0")&&ip_int<=iptoint("2.255.255.255"))||(ip_int>=iptoint("64.0.0.0")&&ip_int<=iptoint("126.255.255.255"))||(ip_int>=iptoint("58.0.0.0")&&ip_int<=iptoint("60.255.255.255"))) 

objfs = new filestream(this.datapath, filemode.open, fileaccess.read); 

try 

long range=recordcount; 

long rangb=0; 

long recno=0; 

while(rangbthis.startip) 

rangb=recno; 

else 

range=recno; 

} this.getstartip(rangb); 

this.getendip(); 

if(this.startip<=ip_int&&this.endip>=ip_int) 

else 

objfs.close(); 

return nret; 

} catch 

// ip位址轉換成int資料#region ip位址轉換成int資料 

private long iptoint(string ip) 

; string iparr = ip.split(dot); 

if(iparr.length==3) 

ip=ip+".0"; 

iparr=ip.split(dot); 

long ip_int=0; 

long p1=long.parse(iparr[0])*256*256*256; 

long p2=long.parse(iparr[1])*256*256; 

long p3=long.parse(iparr[2])*256; 

long p4=long.parse(iparr[3]); 

ip_int=p1+p2+p3+p4; 

return ip_int; 

} //int轉換成ip#region int轉換成ip 

private string inttoip(long ip_int) 

//獲取起始ip範圍#region 獲取起始ip範圍 

private long getstartip(long recno) 

// 獲取結束ip#region 獲取結束ip 

private long getendip() 

//獲取國家/區域偏移量#region 獲取國家/區域偏移量 

private string getcountry() 

return " "; 

} //獲取國家/區域字串#region 獲取國家/區域字串 

private string getflagstr(long offset) 

offset=convert.toint64(buff[0].tostring())+convert.toint64(buff[1].tostring())*256+convert.toint64(buff[2].tostring())*256*256; 

} else  } 

if(offset<12) 

return " "; 

objfs.position=offset; 

return getstr(); 

} //getstr#region getstr 

private string getstr() 

else  } 

return str; 

}      

//獲取ip位址#region 獲取ip位址 

public string iplocation() 

public string iplocation(string datapath,string ip)  } 

}?

c 獲取客戶端ip

在做wcf時,需要得到客戶端的ip。一開始用了幾種方法總是不好使。後來在網上找到這個方法可以正確的獲得客戶端的ip了。可 能 有 d代 理 if result.indexof 1 沒?有 d 肯?定 是 非 ipv4格?式 result null else if result.indexof 1 有...

獲取客戶端ip

1.統計訪問者ip位址 2.設定黑名單,黑名單的使用者不可以訪問聊天室。內容提要 這種情況下同樣透露了客戶端是使用了 伺服器 但編造了乙個虛假的隨機ip 220.4.251.159 代替客戶端的真實 ip來欺騙它 獲取客戶端 ip其實不是個簡單的活兒 因為存在 ip欺騙 和 問題 所以獲取客戶端的 ...

操作客戶端IP類 C

using system using system.text using system.data namespace baolee.generalmethod times add 1 public void add datatable dt,string ip datarow row2 dt.new...