您的位置:首页 > 编程语言 > C#

c#换ip代理源码

2015-10-24 15:27 387 查看
很多朋友都想如何提高自己的网站流量,可是都没有什么好的办法

经过很长时间的研究,在C#中实现了,当然了,这部分代码其中一部分是网上的,不是原创。

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

using System.Runtime.InteropServices;

using System.Diagnostics;

using System.IO;

using System.Text.RegularExpressions;

using System.Text;

using System.Net;

namespace WebSock

{

/// <summary>

/// Form1 的摘要说明。

/// </summary>

public class Form1 : System.Windows.Forms.Form

{

private System.Windows.Forms.GroupBox groupBox1;

private AxSHDocVw.AxWebBrowser axWebBrowser1;

private System.Windows.Forms.Button button1;

private System.Windows.Forms.Button button2;

private System.Windows.Forms.OpenFileDialog openFileDialog1;

private System.Windows.Forms.Timer timer1;

private System.ComponentModel.IContainer components;

private System.Windows.Forms.StatusBar statusBar1;

private System.Windows.Forms.StatusBarPanel statusBarPanel1;

private System.Windows.Forms.GroupBox groupBox2;

private System.Windows.Forms.GroupBox groupBox3;

private System.Windows.Forms.GroupBox groupBox4;

private System.Windows.Forms.Button button3;

ArrayList arrText = new ArrayList();

int Total = 0;

int i,k=0;

private System.Windows.Forms.GroupBox groupBox5;

private System.Windows.Forms.Label label1;

private System.Windows.Forms.TextBox txtWebUrl;

private const string TitleInfo = "程序制作红色银狐";

private System.Windows.Forms.ListBox listBox1;

private string strUrl = "";

public Form1()

{

//

// Windows 窗体设计器支持所必需的

//

InitializeComponent();

//

// TODO: 在 InitializeComponent 调用后添加任何构造函数代码

//

}

/// <summary>

/// 清理所有正在使用的资源。

/// </summary>

protected override void Dispose( bool disposing )

{

if( disposing )

{

if (components != null)

{

components.Dispose();

}

}

base.Dispose( disposing );

}

#region Windows 窗体设计器生成的代码

/// <summary>

/// 设计器支持所需的方法 - 不要使用代码编辑器修改

/// 此方法的内容。

/// </summary>

private void InitializeComponent()

{

this.components = new System.ComponentModel.Container();

System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1));

this.groupBox1 = new System.Windows.Forms.GroupBox();

this.groupBox3 = new System.Windows.Forms.GroupBox();

this.axWebBrowser1 = new AxSHDocVw.AxWebBrowser();

this.groupBox2 = new System.Windows.Forms.GroupBox();

this.listBox1 = new System.Windows.Forms.ListBox();

this.button1 = new System.Windows.Forms.Button();

this.button2 = new System.Windows.Forms.Button();

this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();

this.timer1 = new System.Windows.Forms.Timer(this.components);

this.statusBar1 = new System.Windows.Forms.StatusBar();

this.statusBarPanel1 = new System.Windows.Forms.StatusBarPanel();

this.groupBox4 = new System.Windows.Forms.GroupBox();

this.button3 = new System.Windows.Forms.Button();

this.groupBox5 = new System.Windows.Forms.GroupBox();

this.label1 = new System.Windows.Forms.Label();

this.txtWebUrl = new System.Windows.Forms.TextBox();

this.groupBox1.SuspendLayout();

this.groupBox3.SuspendLayout();

((System.ComponentModel.ISupportInitialize)(this.axWebBrowser1)).BeginInit();

this.groupBox2.SuspendLayout();

((System.ComponentModel.ISupportInitialize)(this.statusBarPanel1)).BeginInit();

this.groupBox4.SuspendLayout();

this.groupBox5.SuspendLayout();

this.SuspendLayout();

//

// groupBox1

//

this.groupBox1.Controls.Add(this.groupBox3);

this.groupBox1.Controls.Add(this.groupBox2);

this.groupBox1.Location = new System.Drawing.Point(0, 0);

this.groupBox1.Name = "groupBox1";

this.groupBox1.Size = new System.Drawing.Size(810, 440);

this.groupBox1.TabIndex = 0;

this.groupBox1.TabStop = false;

//

// groupBox3

//

this.groupBox3.Controls.Add(this.axWebBrowser1);

this.groupBox3.Location = new System.Drawing.Point(312, 8);

this.groupBox3.Name = "groupBox3";

this.groupBox3.Size = new System.Drawing.Size(490, 424);

this.groupBox3.TabIndex = 2;

this.groupBox3.TabStop = false;

this.groupBox3.Text = "浏览器";

//

// axWebBrowser1

//

this.axWebBrowser1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)

| System.Windows.Forms.AnchorStyles.Left)

| System.Windows.Forms.AnchorStyles.Right)));

this.axWebBrowser1.ContainingControl = this;

this.axWebBrowser1.Enabled = true;

this.axWebBrowser1.Location = new System.Drawing.Point(8, 16);

this.axWebBrowser1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axWebBrowser1.OcxState")));

this.axWebBrowser1.Size = new System.Drawing.Size(474, 400);

this.axWebBrowser1.TabIndex = 0;

//

// groupBox2

//

this.groupBox2.Controls.Add(this.listBox1);

this.groupBox2.Location = new System.Drawing.Point(8, 8);

this.groupBox2.Name = "groupBox2";

this.groupBox2.Size = new System.Drawing.Size(296, 424);

this.groupBox2.TabIndex = 1;

this.groupBox2.TabStop = false;

this.groupBox2.Text = "代理IP地址";

//

// listBox1

//

this.listBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

this.listBox1.ItemHeight = 12;

this.listBox1.Location = new System.Drawing.Point(8, 16);

this.listBox1.Name = "listBox1";

this.listBox1.Size = new System.Drawing.Size(280, 398);

this.listBox1.TabIndex = 2;

//

// button1

//

this.button1.Location = new System.Drawing.Point(310, 16);

this.button1.Name = "button1";

this.button1.Size = new System.Drawing.Size(176, 32);

this.button1.TabIndex = 1;

this.button1.Text = "载入代理IP";

this.button1.Click += new System.EventHandler(this.button1_Click_1);

//

// button2

//

this.button2.Location = new System.Drawing.Point(486, 16);

this.button2.Name = "button2";

this.button2.Size = new System.Drawing.Size(176, 32);

this.button2.TabIndex = 2;

this.button2.Text = "开始刷流量";

this.button2.Click += new System.EventHandler(this.button2_Click);

//

// timer1

//

this.timer1.Interval = 10000;

this.timer1.Tick += new System.EventHandler(this.timer1_Tick);

//

// statusBar1

//

this.statusBar1.Dock = System.Windows.Forms.DockStyle.None;

this.statusBar1.Location = new System.Drawing.Point(0, 552);

this.statusBar1.Name = "statusBar1";

this.statusBar1.Panels.AddRange(new System.Windows.Forms.StatusBarPanel[] {

this.statusBarPanel1});

this.statusBar1.ShowPanels = true;

this.statusBar1.Size = new System.Drawing.Size(810, 24);

this.statusBar1.TabIndex = 3;

//

// statusBarPanel1

//

this.statusBarPanel1.Width = 820;

//

// groupBox4

//

this.groupBox4.Controls.Add(this.button3);

this.groupBox4.Controls.Add(this.button2);

this.groupBox4.Controls.Add(this.button1);

this.groupBox4.Location = new System.Drawing.Point(0, 496);

this.groupBox4.Name = "groupBox4";

this.groupBox4.Size = new System.Drawing.Size(810, 56);

this.groupBox4.TabIndex = 4;

this.groupBox4.TabStop = false;

this.groupBox4.Text = "操作区";

//

// button3

//

this.button3.Location = new System.Drawing.Point(134, 16);

this.button3.Name = "button3";

this.button3.Size = new System.Drawing.Size(176, 32);

this.button3.TabIndex = 3;

this.button3.Text = "从网络获取代理IP";

this.button3.Click += new System.EventHandler(this.button3_Click);

//

// groupBox5

//

this.groupBox5.Controls.Add(this.label1);

this.groupBox5.Controls.Add(this.txtWebUrl);

this.groupBox5.Location = new System.Drawing.Point(0, 444);

this.groupBox5.Name = "groupBox5";

this.groupBox5.Size = new System.Drawing.Size(810, 48);

this.groupBox5.TabIndex = 5;

this.groupBox5.TabStop = false;

this.groupBox5.Text = "要刷网站地址";

//

// label1

//

this.label1.Location = new System.Drawing.Point(16, 21);

this.label1.Name = "label1";

this.label1.Size = new System.Drawing.Size(56, 16);

this.label1.TabIndex = 1;

this.label1.Text = "网站地址";

//

// txtWebUrl

//

this.txtWebUrl.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

this.txtWebUrl.Location = new System.Drawing.Point(80, 16);

this.txtWebUrl.Name = "txtWebUrl";

this.txtWebUrl.Size = new System.Drawing.Size(720, 21);

this.txtWebUrl.TabIndex = 0;

this.txtWebUrl.Text = "http://www.51solve.com/";

//

// Form1

//

this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);

this.ClientSize = new System.Drawing.Size(810, 575);

this.Controls.Add(this.groupBox5);

this.Controls.Add(this.groupBox4);

this.Controls.Add(this.statusBar1);

this.Controls.Add(this.groupBox1);

this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;

this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));

this.MaximizeBox = false;

this.Name = "Form1";

this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;

this.Text = "网站流量访问程序制作:红色银狐";

this.groupBox1.ResumeLayout(false);

this.groupBox3.ResumeLayout(false);

((System.ComponentModel.ISupportInitialize)(this.axWebBrowser1)).EndInit();

this.groupBox2.ResumeLayout(false);

((System.ComponentModel.ISupportInitialize)(this.statusBarPanel1)).EndInit();

this.groupBox4.ResumeLayout(false);

this.groupBox5.ResumeLayout(false);

this.ResumeLayout(false);

}

#endregion

/// <summary>

/// 应用程序的主入口点。

/// </summary>

[STAThread]

static void Main()

{

Application.Run(new Form1());

}

//定义结构体代理信息

public struct Struct_INTERNET_PROXY_INFO

{

public int dwAccessType;

public IntPtr proxy;

public IntPtr proxyBypass;

};

[DllImport("wininet.dll", SetLastError = true)]

private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength);

private void RefreshIESettings(string strProxy)

{

const int INTERNET_OPTION_PROXY = 38;

const int INTERNET_OPEN_TYPE_PROXY = 3;

Struct_INTERNET_PROXY_INFO struct_IPI;

// Filling in structure

struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY;

struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy);

struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi("local");

// Allocating memory

IntPtr intptrStruct = Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI));

// Converting structure to IntPtr

Marshal.StructureToPtr(struct_IPI, intptrStruct, true);

bool iReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, Marshal.SizeOf(struct_IPI));

}

private void StartShua()

{

statusBar1.Panels[0].Text = "正在使用" + arrText[k].ToString() + "代理IP访问网站";

this.listBox1.SetSelected(k,true);

RefreshIESettings(arrText[k].ToString());

System.Object nullObject = 0;

string strTemp = String.Empty;

System.Object nullObjStr = strTemp;

axWebBrowser1.Navigate(strUrl, ref nullObject, ref nullObjStr, ref nullObjStr, ref nullObjStr);

k+=1;

if(k>=i)k=0;

}

private void button1_Click_1(object sender, System.EventArgs e)

{

arrText.Clear();

i = 0;

if(openFileDialog1.ShowDialog() ==DialogResult.OK)

{

string strPath,strLine = "";

strPath = openFileDialog1.FileName.ToString();

StreamReader sr = new StreamReader(strPath);

while(strLine != null)

{

strLine = sr.ReadLine();

if(strLine != null)

{

i+=1;

arrText.Add(strLine);

listBox1.Items.Add(strLine);

}

}

sr.Close();

}

}

private void timer1_Tick(object sender, System.EventArgs e)

{

StartShua();

}

private void button2_Click(object sender, System.EventArgs e)

{

Total = listBox1.Items.Count;

strUrl = txtWebUrl.Text;

if(button2.Text == "开始刷流量")

{

if(i == 0 && Total == 0)return;

if(strUrl.Length == 0)return;

StartShua();

button2.Text = "停止刷流量";

timer1.Enabled = true;

timer1.Start();

button1.Enabled = false;

button3.Enabled = false;

}

else

{

timer1.Stop();

timer1.Enabled = false;

button2.Text = "开始刷流量";

button1.Enabled = true;

button3.Enabled = true;

arrText.Clear();

}

}

private void button3_Click(object sender, System.EventArgs e)

{

arrText.Clear();

i = 0;

listBox1.Items.Clear();

string strHtml = "";

string strPort = "";

string strResultIP = "";

long PosB = 0;

long PosA = 0;

long PosC = 0;

string Url = "http://www.pass-e.com/proxy/";

try

{

strHtml = GetHtml(Url);

strHtml = checkStr(strHtml);

strHtml = strHtml.ToLower();

PosA = strHtml.IndexOf("list",0);

//MessageBox.Show(GetHtml(Url));

while(PosA>0)

{

i+=1;

PosB = strHtml.IndexOf(",",(int)PosA);

strResultIP = strHtml.Substring((int)PosA,(int)PosB-(int)PosA);

strResultIP = strResultIP.Replace("list","");

PosC = strHtml.IndexOf(",",(int)PosB+1);

strPort = strHtml.Substring((int)PosB,(int)PosC-(int)PosB);

strPort = strPort.Replace(",","");

listBox1.Items.Add(strResultIP+":"+strPort);

PosA = strHtml.IndexOf("list",(int)PosC);

arrText.Add(strResultIP+":"+strPort);

}

}

catch(Exception ex)

{

MessageBox.Show(ex.Message,TitleInfo,MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

}

public string checkStr(string html)

{

string str = Convert.ToString((char)34);

Regex regex1 = new Regex(@"<mce:script[/s/S]+</script *><!--

", RegexOptions.IgnoreCase);

Regex regex2 = new Regex(@" href *= *[/s/S]*script *:", RegexOptions.IgnoreCase);

Regex regex3 = new Regex(@" no[/s/S]*=", RegexOptions.IgnoreCase);

Regex regex4 = new Regex(@"<iframe[/s/S]+</iframe *>", RegexOptions.IgnoreCase);

Regex regex5 = new Regex(@"<frameset[/s/S]+</frameset *>", RegexOptions.IgnoreCase);

Regex regex6 = new Regex(@"/<img[^/>]+/>", RegexOptions.IgnoreCase);

Regex regex7 = new Regex(@"</p>", RegexOptions.IgnoreCase);

Regex regex8 = new Regex(@"<p>", RegexOptions.IgnoreCase);

Regex regex9 = new Regex(@"<[^>]*>", RegexOptions.IgnoreCase);

html = html.Replace("/r/n","");

//html = regex1.Replace(html, ""); //过滤<script>

// --></mce:script>标记

html = regex2.Replace(html, ""); //过滤href=javascript: (<A>) 属性

html = regex3.Replace(html, " _disibledevent="); //过滤其它控件的on...事件

html = regex4.Replace(html, ""); //过滤iframe

html = regex5.Replace(html, ""); //过滤frameset

html = regex6.Replace(html, ""); //过滤frameset

html = regex7.Replace(html, ""); //过滤frameset

html = regex8.Replace(html, ""); //过滤frameset

html = regex9.Replace(html, "");

html = html.Replace(" ", "");

html = html.Replace("</strong>", "");

html = html.Replace("<strong>", "");

html = html.Replace("/n","");

html = html.Replace(str ,"");

html = html.Replace("}" ,"");

html = html.Replace("(" ,"");

html = html.Replace(")" ,"");

//html = html.Replace(";" ,"");

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

html = html.Replace(" " ,"");

html = html.Replace(" ","");

return html;

}

public string GetHtml(string myUrl)

{

HttpWebRequest myHttpWebRequest;

HttpWebResponse myHttpWebResponse;

//string Html;

try

{

string URL = myUrl;

Uri myUri = new Uri(myUrl);

WebRequest myWebRequest = WebRequest.Create(URL);

//使用Creat方法创建WebRequest实例

myHttpWebRequest = (HttpWebRequest)myWebRequest;

//实现WebRequest类型和HttpWebRequest类型的转换

WebResponse myWebResponse = myHttpWebRequest.GetResponse();

//获得响应信息

myHttpWebResponse = (HttpWebResponse)myWebResponse;

Stream myStream = myHttpWebResponse.GetResponseStream();

//获得从当前Internet资源返回的响应流数据

StreamReader srReader = new StreamReader(myStream, Encoding.Default);

//利用获得的响应流和系统缺省编码来初始化StreamReader实例。

string sTemp = srReader.ReadToEnd();

//从响应流从读取数据

srReader.Close();

return sTemp;

}

//显示读取的数据 ( )

catch (WebException WebExcp)

{

return WebExcp.Message.ToString();

}

}

}

}

通过它的实现,只要你有足够的代理IP那么你的网站流量变飞速的提升。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: