博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c#换ip代理源码
阅读量:5169 次
发布时间:2019-06-13

本文共 17041 字,大约阅读时间需要 56 分钟。

1 很多朋友都想如何提高自己的网站流量,可是都没有什么好的办法  2 经过很长时间的研究,在C#中实现了,当然了,这部分代码其中一部分是网上的,不是原创。  3   4 using System;  5 using System.Drawing;  6 using System.Collections;  7 using System.ComponentModel;  8 using System.Windows.Forms;  9 using System.Data; 10 using System.Runtime.InteropServices; 11 using System.Diagnostics; 12 using System.IO; 13 using System.Text.RegularExpressions; 14 using System.Text; 15 using System.Net; 16 namespace WebSock 17 { 18  ///  19  /// Form1 的摘要说明。 20  ///  21  public class Form1 : System.Windows.Forms.Form 22  { 23   private System.Windows.Forms.GroupBox groupBox1; 24   private AxSHDocVw.AxWebBrowser axWebBrowser1; 25   private System.Windows.Forms.Button button1; 26   private System.Windows.Forms.Button button2; 27   private System.Windows.Forms.OpenFileDialog openFileDialog1; 28   private System.Windows.Forms.Timer timer1; 29   private System.ComponentModel.IContainer components; 30   private System.Windows.Forms.StatusBar statusBar1; 31   private System.Windows.Forms.StatusBarPanel statusBarPanel1; 32   private System.Windows.Forms.GroupBox groupBox2; 33   private System.Windows.Forms.GroupBox groupBox3; 34   private System.Windows.Forms.GroupBox groupBox4; 35   private System.Windows.Forms.Button button3; 36   ArrayList arrText = new ArrayList(); 37   int Total = 0; 38   int i,k=0; 39   private System.Windows.Forms.GroupBox groupBox5; 40   private System.Windows.Forms.Label label1; 41   private System.Windows.Forms.TextBox txtWebUrl; 42   private const string TitleInfo = "程序制作红色银狐"; 43   private System.Windows.Forms.ListBox listBox1; 44   private string strUrl = ""; 45   public Form1() 46   { 47    // 48    // Windows 窗体设计器支持所必需的 49    // 50    InitializeComponent(); 51    // 52    // TODO: 在 InitializeComponent 调用后添加任何构造函数代码 53    // 54   } 55  56   ///  57   /// 清理所有正在使用的资源。 58   ///  59   protected override void Dispose( bool disposing ) 60   { 61    if( disposing ) 62    { 63     if (components != null)  64     { 65      components.Dispose(); 66     } 67    } 68    base.Dispose( disposing ); 69   } 70  71   #region Windows 窗体设计器生成的代码 72   ///  73   /// 设计器支持所需的方法 - 不要使用代码编辑器修改 74   /// 此方法的内容。 75   ///  76   private void InitializeComponent() 77   { 78    this.components = new System.ComponentModel.Container(); 79    System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1)); 80    this.groupBox1 = new System.Windows.Forms.GroupBox(); 81    this.groupBox3 = new System.Windows.Forms.GroupBox(); 82    this.axWebBrowser1 = new AxSHDocVw.AxWebBrowser(); 83    this.groupBox2 = new System.Windows.Forms.GroupBox(); 84    this.listBox1 = new System.Windows.Forms.ListBox(); 85    this.button1 = new System.Windows.Forms.Button(); 86    this.button2 = new System.Windows.Forms.Button(); 87    this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); 88    this.timer1 = new System.Windows.Forms.Timer(this.components); 89    this.statusBar1 = new System.Windows.Forms.StatusBar(); 90    this.statusBarPanel1 = new System.Windows.Forms.StatusBarPanel(); 91    this.groupBox4 = new System.Windows.Forms.GroupBox(); 92    this.button3 = new System.Windows.Forms.Button(); 93    this.groupBox5 = new System.Windows.Forms.GroupBox(); 94    this.label1 = new System.Windows.Forms.Label(); 95    this.txtWebUrl = new System.Windows.Forms.TextBox(); 96    this.groupBox1.SuspendLayout(); 97    this.groupBox3.SuspendLayout(); 98    ((System.ComponentModel.ISupportInitialize)(this.axWebBrowser1)).BeginInit(); 99    this.groupBox2.SuspendLayout();100    ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel1)).BeginInit();101    this.groupBox4.SuspendLayout();102    this.groupBox5.SuspendLayout();103    this.SuspendLayout();104    // 105    // groupBox1106    // 107    this.groupBox1.Controls.Add(this.groupBox3);108    this.groupBox1.Controls.Add(this.groupBox2);109    this.groupBox1.Location = new System.Drawing.Point(0, 0);110    this.groupBox1.Name = "groupBox1";111    this.groupBox1.Size = new System.Drawing.Size(810, 440);112    this.groupBox1.TabIndex = 0;113    this.groupBox1.TabStop = false;114    // 115    // groupBox3116    // 117    this.groupBox3.Controls.Add(this.axWebBrowser1);118    this.groupBox3.Location = new System.Drawing.Point(312, 8);119    this.groupBox3.Name = "groupBox3";120    this.groupBox3.Size = new System.Drawing.Size(490, 424);121    this.groupBox3.TabIndex = 2;122    this.groupBox3.TabStop = false;123    this.groupBox3.Text = "浏览器";124    // 125    // axWebBrowser1126    // 127    this.axWebBrowser1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 128     | System.Windows.Forms.AnchorStyles.Left) 129     | System.Windows.Forms.AnchorStyles.Right)));130    this.axWebBrowser1.ContainingControl = this;131    this.axWebBrowser1.Enabled = true;132    this.axWebBrowser1.Location = new System.Drawing.Point(8, 16);133    this.axWebBrowser1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axWebBrowser1.OcxState")));134    this.axWebBrowser1.Size = new System.Drawing.Size(474, 400);135    this.axWebBrowser1.TabIndex = 0;136    // 137    // groupBox2138    // 139    this.groupBox2.Controls.Add(this.listBox1);140    this.groupBox2.Location = new System.Drawing.Point(8, 8);141    this.groupBox2.Name = "groupBox2";142    this.groupBox2.Size = new System.Drawing.Size(296, 424);143    this.groupBox2.TabIndex = 1;144    this.groupBox2.TabStop = false;145    this.groupBox2.Text = "代理IP地址";146    // 147    // listBox1148    // 149    this.listBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;150    this.listBox1.ItemHeight = 12;151    this.listBox1.Location = new System.Drawing.Point(8, 16);152    this.listBox1.Name = "listBox1";153    this.listBox1.Size = new System.Drawing.Size(280, 398);154    this.listBox1.TabIndex = 2;155    // 156    // button1157    // 158    this.button1.Location = new System.Drawing.Point(310, 16);159    this.button1.Name = "button1";160    this.button1.Size = new System.Drawing.Size(176, 32);161    this.button1.TabIndex = 1;162    this.button1.Text = "载入代理IP";163    this.button1.Click += new System.EventHandler(this.button1_Click_1);164    // 165    // button2166    // 167    this.button2.Location = new System.Drawing.Point(486, 16);168    this.button2.Name = "button2";169    this.button2.Size = new System.Drawing.Size(176, 32);170    this.button2.TabIndex = 2;171    this.button2.Text = "开始刷流量";172    this.button2.Click += new System.EventHandler(this.button2_Click);173    // 174    // timer1175    // 176    this.timer1.Interval = 10000;177    this.timer1.Tick += new System.EventHandler(this.timer1_Tick);178    // 179    // statusBar1180    // 181    this.statusBar1.Dock = System.Windows.Forms.DockStyle.None;182    this.statusBar1.Location = new System.Drawing.Point(0, 552);183    this.statusBar1.Name = "statusBar1";184    this.statusBar1.Panels.AddRange(new System.Windows.Forms.StatusBarPanel[] {185                         this.statusBarPanel1});186    this.statusBar1.ShowPanels = true;187    this.statusBar1.Size = new System.Drawing.Size(810, 24);188    this.statusBar1.TabIndex = 3;189    // 190    // statusBarPanel1191    // 192    this.statusBarPanel1.Width = 820;193    // 194    // groupBox4195    // 196    this.groupBox4.Controls.Add(this.button3);197    this.groupBox4.Controls.Add(this.button2);198    this.groupBox4.Controls.Add(this.button1);199    this.groupBox4.Location = new System.Drawing.Point(0, 496);200    this.groupBox4.Name = "groupBox4";201    this.groupBox4.Size = new System.Drawing.Size(810, 56);202    this.groupBox4.TabIndex = 4;203    this.groupBox4.TabStop = false;204    this.groupBox4.Text = "操作区";205    // 206    // button3207    // 208    this.button3.Location = new System.Drawing.Point(134, 16);209    this.button3.Name = "button3";210    this.button3.Size = new System.Drawing.Size(176, 32);211    this.button3.TabIndex = 3;212    this.button3.Text = "从网络获取代理IP";213    this.button3.Click += new System.EventHandler(this.button3_Click);214    // 215    // groupBox5216    // 217    this.groupBox5.Controls.Add(this.label1);218    this.groupBox5.Controls.Add(this.txtWebUrl);219    this.groupBox5.Location = new System.Drawing.Point(0, 444);220    this.groupBox5.Name = "groupBox5";221    this.groupBox5.Size = new System.Drawing.Size(810, 48);222    this.groupBox5.TabIndex = 5;223    this.groupBox5.TabStop = false;224    this.groupBox5.Text = "要刷网站地址";225    // 226    // label1227    // 228    this.label1.Location = new System.Drawing.Point(16, 21);229    this.label1.Name = "label1";230    this.label1.Size = new System.Drawing.Size(56, 16);231    this.label1.TabIndex = 1;232    this.label1.Text = "网站地址";233    // 234    // txtWebUrl235    // 236    this.txtWebUrl.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;237    this.txtWebUrl.Location = new System.Drawing.Point(80, 16);238    this.txtWebUrl.Name = "txtWebUrl";239    this.txtWebUrl.Size = new System.Drawing.Size(720, 21);240    this.txtWebUrl.TabIndex = 0;241    this.txtWebUrl.Text = "http://www.51solve.com/";242    // 243    // Form1244    // 245    this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);246    this.ClientSize = new System.Drawing.Size(810, 575);247    this.Controls.Add(this.groupBox5);248    this.Controls.Add(this.groupBox4);249    this.Controls.Add(this.statusBar1);250    this.Controls.Add(this.groupBox1);251    this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;252    this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));253    this.MaximizeBox = false;254    this.Name = "Form1";255    this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;256    this.Text = "网站流量访问程序制作:红色银狐";257    this.groupBox1.ResumeLayout(false);258    this.groupBox3.ResumeLayout(false);259    ((System.ComponentModel.ISupportInitialize)(this.axWebBrowser1)).EndInit();260    this.groupBox2.ResumeLayout(false);261    ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel1)).EndInit();262    this.groupBox4.ResumeLayout(false);263    this.groupBox5.ResumeLayout(false);264    this.ResumeLayout(false);265 266   }267   #endregion268 269   /// 270   /// 应用程序的主入口点。271   /// 272   [STAThread]273   static void Main() 274   {275    Application.Run(new Form1());276   }277   //定义结构体代理信息278   public struct Struct_INTERNET_PROXY_INFO 279   { 280    public int dwAccessType; 281    public IntPtr proxy; 282    public IntPtr proxyBypass; 283   }; 284   [DllImport("wininet.dll", SetLastError = true)] 285   private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength);286 287   private void RefreshIESettings(string strProxy) 288   { 289    const int INTERNET_OPTION_PROXY = 38; 290    const int INTERNET_OPEN_TYPE_PROXY = 3; 291 292    Struct_INTERNET_PROXY_INFO struct_IPI; 293 294    // Filling in structure 295    struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY; 296    struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy); 297    struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi("local"); 298 299    // Allocating memory 300    IntPtr intptrStruct = Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI)); 301 302    // Converting structure to IntPtr 303    Marshal.StructureToPtr(struct_IPI, intptrStruct, true); 304 305    bool iReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, Marshal.SizeOf(struct_IPI)); 306   } 307 308   private void StartShua() 309   { 310    statusBar1.Panels[0].Text = "正在使用" + arrText[k].ToString() + "代理IP访问网站";311    this.listBox1.SetSelected(k,true);312    RefreshIESettings(arrText[k].ToString()); 313    System.Object nullObject = 0; 314    string strTemp = String.Empty; 315    System.Object nullObjStr = strTemp;316    axWebBrowser1.Navigate(strUrl, ref nullObject, ref nullObjStr, ref nullObjStr, ref nullObjStr);317    k+=1;318    if(k>=i)k=0;319   }320   private void button1_Click_1(object sender, System.EventArgs e)321   {322    arrText.Clear();323    i = 0;324    if(openFileDialog1.ShowDialog() ==DialogResult.OK)325    {326     string strPath,strLine = "";327     strPath = openFileDialog1.FileName.ToString();328     StreamReader sr = new StreamReader(strPath);329     while(strLine != null)330     {331      strLine = sr.ReadLine();332      if(strLine != null)333      {334       i+=1;335       arrText.Add(strLine);336       listBox1.Items.Add(strLine);337      }338     }339     sr.Close();340    }341   }342   private void timer1_Tick(object sender, System.EventArgs e)343   {344    StartShua();345   }346 347   private void button2_Click(object sender, System.EventArgs e)348   {349    Total = listBox1.Items.Count;350    strUrl = txtWebUrl.Text;351    if(button2.Text == "开始刷流量")352    {353     if(i == 0 && Total == 0)return;354     if(strUrl.Length == 0)return;355     StartShua();356     button2.Text = "停止刷流量";357     timer1.Enabled = true;358     timer1.Start();359     button1.Enabled = false;360     button3.Enabled = false;361    }362    else363    {364     timer1.Stop();365     timer1.Enabled = false;366     button2.Text = "开始刷流量";367     button1.Enabled = true;368     button3.Enabled = true;369     arrText.Clear();370    }371   }372 373   private void button3_Click(object sender, System.EventArgs e)374   {375    arrText.Clear();376    i = 0;377    listBox1.Items.Clear();378    string strHtml = "";379    string strPort = "";380    string strResultIP = "";381    long PosB = 0;382    long PosA = 0;383    long PosC = 0;384    string Url = "http://www.pass-e.com/proxy/";385    try386    {387     strHtml = GetHtml(Url);388     strHtml = checkStr(strHtml);389     strHtml = strHtml.ToLower();390     PosA = strHtml.IndexOf("list",0);391     //MessageBox.Show(GetHtml(Url));392     while(PosA>0)393     {394      i+=1;395      PosB = strHtml.IndexOf(",",(int)PosA);396      strResultIP = strHtml.Substring((int)PosA,(int)PosB-(int)PosA);397      strResultIP = strResultIP.Replace("list","");398      PosC = strHtml.IndexOf(",",(int)PosB+1);399      strPort = strHtml.Substring((int)PosB,(int)PosC-(int)PosB);400      strPort = strPort.Replace(",","");401      listBox1.Items.Add(strResultIP+":"+strPort);402      PosA = strHtml.IndexOf("list",(int)PosC);403      arrText.Add(strResultIP+":"+strPort);404     }405    }406    catch(Exception ex)407    {408     MessageBox.Show(ex.Message,TitleInfo,MessageBoxButtons.OK, MessageBoxIcon.Exclamation);409    }410   }411   public string checkStr(string html) 412   { 413    string str = Convert.ToString((char)34);414    415    Regex regex1 = new Regex(@"
标记 428 html = regex2.Replace(html, ""); //过滤href=javascript: (
) 属性 429 html = regex3.Replace(html, " _disibledevent="); //过滤其它控件的on...事件 430 html = regex4.Replace(html, ""); //过滤iframe 431 html = regex5.Replace(html, ""); //过滤frameset 432 html = regex6.Replace(html, ""); //过滤frameset 433 html = regex7.Replace(html, ""); //过滤frameset 434 html = regex8.Replace(html, ""); //过滤frameset 435 html = regex9.Replace(html, ""); 436 html = html.Replace(" ", ""); 437 html = html.Replace("", ""); 438 html = html.Replace("", "");439 html = html.Replace("/n","");440 html = html.Replace(str ,"");441 html = html.Replace("}" ,"");442 html = html.Replace("(" ,"");443 html = html.Replace(")" ,"");444 //html = html.Replace(";" ,"");445 html = html.Replace("'" ,"");446 html = html.Replace(" " ,"");447 html = html.Replace(" ","");448 return html; 449 }450 public string GetHtml(string myUrl) 451 { 452 HttpWebRequest myHttpWebRequest; 453 454 HttpWebResponse myHttpWebResponse; 455 456 //string Html; 457 458 try 459 { 460 461 string URL = myUrl; 462 463 Uri myUri = new Uri(myUrl); 464 465 WebRequest myWebRequest = WebRequest.Create(URL); 466 467 //使用Creat方法创建WebRequest实例 468 469 myHttpWebRequest = (HttpWebRequest)myWebRequest; 470 471 //实现WebRequest类型和HttpWebRequest类型的转换 472 473 WebResponse myWebResponse = myHttpWebRequest.GetResponse(); 474 475 //获得响应信息 476 477 myHttpWebResponse = (HttpWebResponse)myWebResponse; 478 479 Stream myStream = myHttpWebResponse.GetResponseStream(); 480 481 //获得从当前Internet资源返回的响应流数据 482 483 StreamReader srReader = new StreamReader(myStream, Encoding.Default); 484 485 //利用获得的响应流和系统缺省编码来初始化StreamReader实例。 486 487 string sTemp = srReader.ReadToEnd(); 488 489 //从响应流从读取数据 490 491 srReader.Close(); 492 493 return sTemp; 494 } 495 496 //显示读取的数据 ( ) 497 498 catch (WebException WebExcp) 499 { 500 501 return WebExcp.Message.ToString(); 502 } 503 } 504 }505 506 }507 508 509 510 511 512 通过它的实现,只要你有足够的代理IP那么你的网站流量变飞速的提升。

 

转载于:https://www.cnblogs.com/mvc2014/p/3671111.html

你可能感兴趣的文章
Jquery通过指定层次关系获取元素
查看>>
c# for 和 foreach 的区别
查看>>
docfx (一)
查看>>
HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别
查看>>
深度学习之前馈神经网络(前向传播和误差反向传播)
查看>>
IEnumerable<T>和IQueryable<T>区别
查看>>
(转)MFC界面风格
查看>>
Centos7 tmux1.6 安装
查看>>
二叉树(三)
查看>>
linux加密文件系统 fsck 无法修复一例
查看>>
【linux配置】VMware安装Redhat6.5
查看>>
AI自主决策——有限状态机
查看>>
Python装饰器学习笔记
查看>>
iframe父子窗口取值
查看>>
利用Python进行数据分析_Pandas_数据结构
查看>>
2018-2019 2 20175230《Java程序设计》第九周学习总结
查看>>
python3中sum
查看>>
spring声明式事务管理
查看>>
JavaScript高阶函数(Heigher-order function)
查看>>
《计算机组成原理》第6章:总线
查看>>