c#换ip代理源码
来源:互联网 发布:js获取a标签的内容 编辑:程序博客网 时间:2024/04/29 21:15
分类: asp.net 2010-06-26 18:01 1482人阅读 评论(1) 收藏 举报
c#regexbuttonhtmlstringinternet
- 很多朋友都想如何提高自己的网站流量,可是都没有什么好的办法
- 经过很长时间的研究,在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那么你的网站流量变飞速的提升。
- c#换ip代理源码
- c#换ip代理源码
- c#换ip代理源码
- c#换ip代理源码
- 用代理,拨号换IP
- C#开发的HTTP代理、Socket5代理软件,有抓包功能,支持远程ADSL拨号换IP
- C#自动换ip功能或者ip代理功能要这么实现
- 代理IP刷网页源码
- C#验证代理Ip地址
- c#获取真实IP和代理IP
- idhttp用代理IP获取网页源码
- c# 快速验证代理IP是否有用
- c# 快速验证代理IP是否有用
- C# 验证代理IP的方法
- c# 快速验证代理IP是否有用
- C#网页刷票器(实现代理IP投票)
- c#编写检测代理IP是否可用
- C# 验证代理IP的方法
- html表单图片按钮提交
- 模板集
- Oracle EBS R12 - 查询同一个表在不同用户下的同义词(XLA_TRANSACTION_ENTITIES)时返回的结果不一样
- Python 入门教程 1 ---- Python Syntax
- 转FLORIAN大神blog之 -那些陌生的C++关键字
- c#换ip代理源码
- c# 快速验证代理IP是否有用
- 存储容量虚拟化“Thin Provisioning(自动精简配置)技术”
- C#获取真实的客户端IP地址,包括内网代理
- String.split("")、String.split("|") 和 String.toCharArray() 的区别
- 传魅族黄章主动示好小米 相关言论已删除
- POJ1236 Network of Schools (Tarjan)
- linux debugfs使用分享 软件查看gpio状态
- 使用代理IP,点击你的链接