//多个代理背后的ip地址
文件名:IPAddress.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text.RegularExpressions;
namespace Common
{
/// <summary>
/// IPAddress 的摘要说明
/// </summary>
public class IPAddress : System.Web.UI.Page
{
public static Int64 toDenaryIp ( string ip )
{
Int64 _Int64 = 0;
string _ip = ip;
if ( _ip.LastIndexOf ( "." ) > -1 )
{
string[] _iparray = _ip.Split ( '.' );
_Int64 = Int64.Parse ( _iparray.GetValue ( 0 ).ToString() ) * 256 * 256 * 256 + Int64.Parse ( _iparray.GetValue ( 1 ).ToString() ) * 256 * 256 + Int64.Parse ( _iparray.GetValue ( 2 ).ToString() ) * 256 + Int64.Parse ( _iparray.GetValue ( 3 ).ToString() ) - 1;
}
return _Int64;
}
/// <summary>
/// /ip十进制
/// </summary>
public static Int64 DenaryIp
{
get {
Int64 _Int64 = 0;
string _ip = IP;
if ( _ip.LastIndexOf ( "." ) > -1 )
{
string[] _iparray= _ip.Split ( '.' );
_Int64 = Int64.Parse ( _iparray.GetValue ( 0 ).ToString() ) * 256 * 256 * 256 + Int64.Parse ( _iparray.GetValue ( 1 ).ToString() ) * 256 * 256 + Int64.Parse ( _iparray.GetValue ( 2 ).ToString() ) * 256 + Int64.Parse ( _iparray.GetValue ( 3 ).ToString() )-1;
}
return _Int64;
}
}
public static string IP
{
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 ( 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 ( 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格式
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 );
}
}
}
相关文章内容简介
1 免费代理IP能用于爬虫吗
免费代理IP能用于爬虫吗?免费代理IP就是不需要花钱,在网络上可以直接提取,然后用来替换IP。并不是所有项目都能用免费代理IP的,例如爬虫就不可以。 免费代理IP的来源比较杂,很多没有用,使用时间短,匿名程度也参差不齐,其中有一些是高度匿名的,但数量有限,也很难挑选。而爬虫工作需要的IP,要求比较高,因为爬虫IP一旦质量不高就会被对方网站发现,被禁止抓取数据,无法完成工作。所以,免费代理IP是不适合爬虫的。但如果免费代理IP的匿名程度够的话,使用效率低,也是符合使用需求的。 爬虫大家都知道,是采集数据的方式。通过采集来的数据分析,可以获取有价值的信息。而代理IP是换IP最方便的工具,爬虫工作是要用代理IP的。 爬虫对被爬的网站来说是毫无利益的,反而会影响到服务器的工作,所以现在都设有反爬程序,IP限制是最基本的。爬虫工作的时候,如果速度快,用同一个IP会有访问的问题,这时网络就会有验证或者直接封锁IP,给爬虫工作带来了很大的困难。 ... [阅读全文]
2 发帖用代理IP有什么好处?
发帖用代理IP有什么好处?发帖是网络营销的主要途径,在发帖的时候,很多时候都要用到代理IP,这并不奇怪,代理IP给网络营销人员带来了很大的便利。那么,发帖用代理IP有什么好处? 贴吧大家都不陌生,很多人在贴吧交流,一般同一个IP只能发布有限的帖子,评论也是有限制的。如果想大量发帖,就需要用代理IP来解决了。有很多热帖有的是真实评论,有的可能需要代理IP来帮忙,用代理IP去访问网站,用户不会被网站监视限制,或者被封锁了。 随着网络的发展,网络营销是很多公司必须要做的,其中网络影响最重要的途径就是发帖。很多发帖的工作人员都在使用代理IP,但还有很多人并不了解。那么,营销发帖一定要用代理IP吗? 例如贴吧、微博等平台,这些平台发帖可以与其他网友进行交流,起到宣传的作用。但一个IP发帖的数量是有限的,如果想大量发帖,就需要代理IP的帮助。更换IP后,就可以伪装成一个全新的用户,自然不会被平台限制。还有网络营销最常见的问答方式,也需要更换IP后进行自问... [阅读全文]
推荐阅读
06
2020-03
有哪些代理ip常用的端口?
什么是ip端口,ip地址和端口有什么关系?在这里开心代理可以打个大家通俗易懂的比喻,好比我们现在的快递包裹(数据包),快递小哥会按照你家的快递上的地址配送(ip地址),而端口就是
19
2020-01
Ubuntu一直掉线连不上网是什么原因?
新装了一个Ubuntu 系统16.04才使用的时候一切顺利 但是过了两三天 就会出现 频繁掉线的情况
27
2020-05
哪种代理IP资源质量最好?
伴随着互联网技术的飞速发展,人们对各种网络工具的开发与利用也越来越有研究。其中一种网络工具被运用到各行各业
16
2019-12
爬虫为什么推荐使用自建高质量代理ip?
网络爬虫是通过目标服务器获取到想要的公开信息数据,据说互联网超过百分之五十的流量都是通过网络爬虫所创造的,获取竞争对手的公开数据信息和市场分析数据,所以每天都有很多爬虫软
18
2020-01
私有代理IP可防止关联网站域名
占有 IP 是一种 代理IP ,它能够 与共享资源IP相对性了解。假如你了解共享资源IP都是平常应用的代理IP,那麼占有IP就非常好了解了,如同共享资源和独居生活的差别一样,因此占有IP比共享资
19
2020-10
什么时候什么情景可使用免费代理IP?
很多用户在一开始都在寻找有没有合适的免费代理ip使用,免费代理ip在网上又很多,很多收费代理ip网站会免费释放一些免费代理ip提供给用户者使用,如开心代理网站就有一些实时更新的免费
热门文章
因为专业! 所以简单! 产品至上,价格实惠 是我们服务追求的宗旨
免费试用