⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mparamvaluerule.java

📁 httptunnel.jar httptunnel java 源码
💻 JAVA
字号:
package net.jumperz.app.MGuardian.rule;

import java.util.*;
import java.net.*;
import net.jumperz.net.*;
import java.util.regex.*;
import net.jumperz.util.*;
import java.io.*;

public class MParamValueRule
extends MAbstractRequestRule
{
//----------------------------------------------------------------------------------
public boolean matches( MHttpRequest request, MResultCache resultCache )
{
boolean match = false;

	// check parameters in uri
MRequestUri uri = new MRequestUri( request.getUri() );
String query = uri.getQuery();
match = matches2( query );

	// check parameters in request body
if( !match )
	{
	if( request.hasBody() )
		{
		try
			{
			query = MStreamUtil.streamToString( request.getBodyInputStream() );
			}
		catch( IOException e )
			{
			e.printStackTrace();
			}
		
		match = matches2( query );
		}
	}

match = ( match != negationFlag );

resultCache.cacheResult( this, match );
return match;
}
//--------------------------------------------------------------------------------
private boolean matches2( String query )
{
String[] pairList = query.split( "&" );
for( int i = 0; i< pairList.length; ++i )
	{
	int index = pairList[ i ].indexOf( '=' );
	if( index > -1 )
		{
		String target = pairList[ i ].substring( index + 1 );
		Matcher matcher = pattern.matcher( target );
		if( matcher.find() )
			{
			return true;
			}
		else
			{
			try
				{
				if( MUnicodeUrlDecoder.isUrlDecoded( target ) )
					{
					target = MUnicodeUrlDecoder.decode( target );
					}
				else
					{
					target = URLDecoder.decode( target, MAbstractRequestRule.CHARSET );
					}
				}
			catch( UnsupportedEncodingException e )	{}
			catch( IllegalArgumentException e ){}
	
			matcher = pattern.matcher( target );
			if( matcher.find() )
				{
				return true;
				}
			}
		}
	}
return false;
}
//----------------------------------------------------------------------------------
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -