载入中,请稍候……

IE代理的设置与取消

Admin 于 2008-10-20 03:25:28 发表.NET

要实时更新IE所有实例需调用如下API:

  1. [DllImport("wininet.dll", SetLastError = true)] 
  2. private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength); 

然后刷新IE设置:

  1. private static void RefreshIESettings() 
  2.     const int INTERNET_OPTION_REFRESH = 0x000025; 
  3.     const int INTERNET_OPTION_SETTINGS_CHANGED = 0x000027; 
  4.     InternetSetOption(IntPtr.Zero, INTERNET_OPTION_SETTINGS_CHANGED, IntPtr.Zero, 0); 
  5.     InternetSetOption(IntPtr.Zero, INTERNET_OPTION_REFRESH, IntPtr.Zero, 0); 

最后写IE在注册表中的设置即可:

  1. public static void SetIEProxy(Proxy proxy) 
  2.     string proxyIP = ""
  3.     proxyIP=string.Format("{0}:{1}", proxy.ProxyAddr, proxy.ProxyPort); 
  4.     RegistryKey rk = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Internet Settings"true); 
  5.     rk.SetValue("ProxyEnable", 1); 
  6.     rk.SetValue("ProxyServer", proxyIP); 
  7.     rk.Close(); 
  8.     RefreshIESettings(); 
  9.  
  10. public static void CancelIEProxy() 
  11.     RegistryKey rk = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Internet Settings",true); 
  12.     rk.SetValue("ProxyEnable", 0); 
  13.     rk.Close(); 
  14.     RefreshIESettings(); 
  15.  
  16. public class Proxy 
  17. private string proxyName; 
  18. private string proxyAddr; 
  19. private int port; 
  20.  
  21. public Proxy(string name, string addr, int port) 
  22.     this.proxyName = name; 
  23.     this.proxyAddr = addr; 
  24.     this.port = port; 
  25.  
  26. public string ProxyName { get { return proxyName; } } 
  27. public string ProxyAddr { get { return proxyAddr; } } 
  28. public int ProxyPort { get { return port; } } 
  29.  
  30. public override string ToString() 
  31.     return proxyName; 

 

被阅862次, 0票代理 发表评论

使用代理时服务变量的变化

Admin 于 2008-10-20 03:24:10 发表.NET

一、没有使用代理服务器的情况:

      REMOTE_ADDR = 您的 IP
      HTTP_VIA = 没数值或不显示
      HTTP_X_FORWARDED_FOR = 没数值或不显示

二、使用透明代理服务器的情况:Transparent Proxies

      REMOTE_ADDR = 最后一个代理服务器 IP
      HTTP_VIA = 代理服务器 IP
      HTTP_X_FORWARDED_FOR = 您的真实 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。

   这类代理服务器还是将您的信息转发给您的访问对象,无法达到隐藏真实身份的目的。

三、使用普通匿名代理服务器的情况:Anonymous Proxies

      REMOTE_ADDR = 最后一个代理服务器 IP
      HTTP_VIA = 代理服务器 IP
      HTTP_X_FORWARDED_FOR = 代理服务器 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。

   隐藏了您的真实IP,但是向访问对象透露了您是使用代理服务器访问他们的。

四、使用欺骗性代理服务器的情况:Distorting Proxies

      REMOTE_ADDR = 代理服务器 IP
      HTTP_VIA = 代理服务器 IP
      HTTP_X_FORWARDED_FOR = 随机的 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。

   告诉了访问对象您使用了代理服务器,但编造了一个虚假的随机IP代替您的真实IP欺骗它。

五、使用高匿名代理服务器的情况:High Anonymity Proxies (Elite proxies)

      REMOTE_ADDR = 代理服务器 IP
      HTTP_VIA = 没数值或不显示
      HTTP_X_FORWARDED_FOR = 没数值或不显示 ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。

   完全用代理服务器的信息替代了您的所有信息,就象您就是完全使用那台代理服务器直接访问对象。

被阅789次, 0票代理 发表评论
1 / 1 / 2 | « 1 » |

Powered by MiniBoke v2.0.0.8 Build 0828

Copyright © 2008 迷你博客. All rights reserved.

粤ICP备07500939号