载入中,请稍候……

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

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票代理 发表评论

公农历转换类(C#)

Admin 于 2008-10-18 22:05:42 发表.NET

被阅841次, 0票 发表评论

数字金额转大写[JavaScript]

Admin 于 2008-10-18 01:53:17 发表JavaScript

  1. <html> 
  2. <script language="javascript"> 
  1. //将阿拉伯数字翻译成中文的大写数字 
  2. function moneyToCapital(formName,sourceId,targetId)  
  3.  var source=document.forms[formName].all[sourceId]; 
  4.  var target=document.forms[formName].all[targetId]; 
  5.  var num=source.value; 
  6.   
  7.     if(!/^\d*(\.\d*)?$/.test(num)) throw(new Error(-1, "Number is wrong!")); 
  8.  
  9.     var AA = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖"); 
  10.     var BB = new Array("","拾","佰","仟","?","?","圆",""); 
  11.     var CC = new Array("角""分""厘"); 
  12.     
  13.     var a = (""+ num).replace(/(^0*)/g, "").split("."), k = 0, re = ""
  14.  
  15.     for(var i=a[0].length-1; i>=0; i--)  //author: meizz 
  16.     { 
  17.         switch(k) 
  18.         { 
  19.             case 0 : re = BB[7] + re; break
  20.             case 4 : if(!new RegExp("0{4}\\d{"+ (a[0].length-i-1) +"}{Article.Explain}quot;).test(a[0])) 
  21.                      re = BB[4] + re; break
  22.             case 8 : re = BB[5] + re; BB[7] = BB[5]; k = 0; break
  23.         } 
  24.         if(k%4 == 2 && a[0].charAt(i)=="0" && a[0].charAt(i+2) != "0") re = AA[0] + re; 
  25.         if(a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k%4] + re; k++; 
  26.     } 
  27.  
  28.     if(a.length>1) //加上小数部分(如果有小数部分) 
  29.     { 
  30.         re += BB[6]; 
  31.         for(var i=0; i<a[1].length; i++) 
  32.         { 
  33.           re += AA[a[1].charAt(i)] + CC[i]; 
  34.           if(i==2) break
  35.         } 
  36.     } 
  37.    // return re; 
  38.  target.value= re ; 
  1. </script> 
  2. <form name="form1" action="" method="post"> 
  3. <input type="text" name="a" id="a" onblur="moneyToCapital('form1','a','b')" onkeyup="moneyToCapital('form1','a','b')"> 
  4. <input type="text" name="b" id="b" value=""> 
  5. </form> 
  6. </html>  

 

被阅986次, 0票 发表评论

批处理延时、整除、循环、脚本目录

Admin 于 2008-10-04 13:28:43 发表.NET

 

 

 1 
 2 批处理的变量延时
 3 
 4 %% rem 不支持变量延迟,!!支持变量延迟
 5 
 6 rem cmd默认不支持变量延迟。
 7 SETLOCAL ENABLEDELAYEDEXPANSION rem启用变量延迟。
 8 
 9 %TheNum% rem 在for循环中不能更新变量,保持运行for语句前的值。
10 !TheNum! rem 能更新变量。
11 
12 获取批处理所在的目录
13 ECHO "%~dp0"
14 
15 
16 整除、循环变量
17 @echo off
18 @setlocal enabledelayedexpansion
19 set/a n = 1
20 for /f "delims=" %%i in ('dir /a-d /b "C:\test\*.*"') do (
21 set/a i+=1
22 set/a nCount=!i!%%3
23 if !nCount! equ 0 set/a n+=1
24 if not exist !n! md !n!
25 copy "%%i" !n!
26 )
27 pause
28 
被阅1174次, 0票批处理 发表评论

在C#里使用属性

Admin 于 2008-09-30 10:07:49 发表.NET

被阅693次, 0票 发表评论

.NET反射、委托技术与设计模式

Admin 于 2008-09-30 10:02:59 发表.NET

被阅579次, 0票设计模式 发表评论

如何用C#动态编译、执行代码

Admin 于 2008-09-30 09:23:07 发表.NET

在开始之前,先熟悉几个类及部分属性、方法:CSharpCodeProvider、ICodeCompiler、CompilerParameters、CompilerResults、Assembly。

一、CSharpCodeProvider
提供对C#代码生成器和代码编译器的实例的访问。如果要动态生成VB代码,可以使用VBCodeProvider。
CreateCompiler():获取编译器的实例。
二、ICodeCompiler
定义用于调用源代码编译的接口或使用指定编译器的CodeDOM树。每种编译方法都接受指示编译器的CompilerParameters对象,并返回指示编译结果的CompilerResults对象。
CompilerAssemblyFromSource(CompilerParameters option, string source):使用指定的编译器,从包含源代码的字符串设置编译程序集。
三、CompilerParameters
表示用于调用编译器的参数。
ReferencedAssemblies:获取当前项目所引用的程序集。Add方法为程序集添加引用。
GenerateExecutable:获取或设置一个值,该值指示是否生成可执行文件。若此属性为false,则生成DLL,默认是false。
GenerateInMemory:获取或设置一个值,该值指示是否在内存中生成输出。
四、CompilerResults
表示从编译器返回的编译结果。
CompiledAssembly:获取或设置以编译的程序集,Assembly类型。
五、Assembly
程序集。

大致了解了以上知识之后,就可以使用C#动态的编译并执行代码了,一下是一段示例程序:

被阅503次, 0票 发表评论

在使用 Response.End、Response.Redirect 或 Server.Transfer 时出现 ThreadAbortException

Admin 于 2008-09-30 09:19:58 发表.NET

如果使用 Response.End、Response.Redirect 或 Server.Transfer 方法,将出现 ThreadAbortException 异常。您可以使用 try-catch 语句捕获此异常。

原因
Response.End 方法终止页的执行,并将此执行切换到应用程序的事件管线中的 Application_EndRequest 事件。不执行 Response.End 后面的代码行。
此问题出现在 Response.Redirect 和 Server.Transfer 方法中,因为这两种方法均在内部调用 Response.End。
 
解决方案

  •  对于 Response.End,调用 HttpContext.Current.ApplicationInstance.CompleteRequest 方法而不是 Response.End 以跳过 Application_EndRequest 事件的代码执行。
  •  对于 Response.Redirect, 请使用重载 Response.Redirect(String url, bool endResponse),该重载对 endResponse 参数传递 false 以取消对 Response.End 的内部调用。例如:  Response.Redirect ("nextpage.aspx", false);如果使用此替代方法,将执行 Response.Redirect 后面的代码。
  • 对于 Server.Transfer,请改用 Server.Execute 方法。

 

被阅861次, 0票 发表评论
3 / 11 / 87 | « 1 2 3 4 5 6 » |

Powered by MiniBoke v2.0.0.8 Build 0828

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

粤ICP备07500939号