<pre id="jbbnp"><rp id="jbbnp"></rp></pre>

    [使用介紹]如何通過代理服務器獲得IP地址?

    發布時間:2020-05-24 關注熱度:°C

      我們都知道,代理服務器就像是一個第三方,將我們的信息先接收進行一個中轉,然后再通過它來發出信息,經過這么個步驟,我們的IP就得到的隱藏。

    如何通過代理服務器獲得IP地址

      怎么通過代理服務器獲得真實IP地址?

      /// 取得客戶端真實IP。如果有代理則取第一個非內網地址

      /// </summary>

      public static string IPAddress

      {

      get

      {

      string result = String.Empty;

      result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

      if(result!=null&&result!= String.Empty)

      {

      //可能有代理

      if(result.IndexOf(".")==-1) //沒有“.”肯定是非IPv4格式

      result = null;

      else

      {

      if(result.IndexOf(",")!=-1)

      {

      //有“,”,估計多個代理。取第一個不是內網的IP。

      result = result.Replace(" ","").Replace("'","");

      string[] temparyip = result.Split(",;".ToCharArray());

      for(int i=0;i<temparyip.Length;i++)

      {

      if( Text.IsIPAddress(temparyip[i])

      && temparyip[i].Substring(0,3)!="10."

      && temparyip[i].Substring(0,7)!="192.168"

      && temparyip[i].Substring(0,7)!="172.16.")

      {

      return temparyip[i]; //找到不是內網的地址

      }

      }

      }

      else if(Text.IsIPAddress(result)) //代理即是IP格式

      return result;

      else

      result = null; //代理中的內容 非IP,取IP

      }

      }

      string IpAddress = (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]!=null && HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] !=String.Empty)?HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]:HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

      if (null == result || result == String.Empty)

      result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

      if (result == null || result == String.Empty)

      result = HttpContext.Current.Request.UserHostAddress;

      return result;

      }

      }

      /// 判斷是否是IP地址格式 0.0.0.0

      /// </summary>

      /// <param name="str1">待判斷的IP地址</param>

      /// <returns>true or false</returns>

      public static bool IsIPAddress(string str1)

      {

      if(str1==null||str1==string.Empty||str1.Length<7||str1.Length>15) return false;

      string regformat = @"^d{1,3}[.]d{1,3}[.]d{1,3}[.]d{1,3}$";

      Regex regex = new Regex(regformat,RegexOptions.IgnoreCase );

      return regex.IsMatch(str1);

      }

      上面就是IP海帶來的教程,如果大家需要獲得真實IP,可以這么實現。

     

    版權聲明:本文為IP海(iphai.cn)原創作品,未經許可,禁止轉載!

    Copyright © 2020-2022 www.meshmotors.com. All Rights Reserved. IP海 版權所有.
    IP海僅提供中國內IP加速服務,無法跨境聯網,用戶使用IP海從事的任何行為均不代本公司的意志和觀點,產生的相關責任用戶自負。
    ICP備案鄂ICP備19030659號-3 公安備案鄂公網安備42100302000141號 計算機軟件著作權證計算機軟件著作權證 ICP/EDI許可證ICP/EDI許可證:鄂B2-20200106

    微信掃一掃咨詢
    八戒八戒在线www日本