在实际使用的过程中可能存在使用代理访问其他网站,以防因过度频繁访问,自己ip被封,如下提供C#使用socks5的大致代码,个人可以根据实际情况进行封装、加工。切勿乱用
- public class LoadProxyHelper
- {
- private static readonly log4net.ILog _logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
- // 默认使用array 可以根据自己的爱好调整
- private static string[] ipdatas = new string[20];
- / 如下代理ip未必可用,请自行找寻(本次只是作为一个样本)
- private static string ipFormat = "x.x.x.{0}";
- static LoadProxyHelper()
- {
- // 给的是固定的ip
- for (int i = 0; i < ipdatas.Length; i++)
- {
- ipdatas[i] = string.Format(ipFormat , 19+i);
- }
- }
- public bool m_RequireAuthorize = false;
- public string m_user = string.Empty;
- public string m_pass = string.Empty;
- public byte[] bytes = new byte[1024];
- /// <summary>
- /// 设定byte
- /// </summary>
- public byte[] RequireBytes
- {
- get { return bytes; }
- set { bytes = value; }
- }
- /// <summary>
- /// default is false
- /// </summary>
- public bool RequireAuthorize
- {
- get { return m_RequireAuthorize; }
- set { m_RequireAuthorize = value; }
- }
- public string Username
- {
- get { return m_pass; }
- set { m_pass = value; }
- }
- public string Password
- {
- get { return m_user; }
- set { m_user = value; }
- }
- private static string GetEncodType(string ContentType)
- {
- string strTemp = string.Empty;
- strTemp = ContentType;
- if (strTemp != null && strTemp.IndexOf(