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

📄 mresponsebodyruleimpl.java

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

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

public final class MResponseBodyRuleImpl
{
private static final int BUFSIZE	= 1024;
private static final int HEAD_BUFSIZE	= 100;
//--------------------------------------------------------------------------------
public static boolean matches( Pattern pattern, MHttpResponse response )
throws IOException
{
InputStream bodyInputStream = response.getBodyInputStream();
ByteArrayOutputStream buffer = new ByteArrayOutputStream( bodyInputStream.available() );
MStreamUtil.connectStream( bodyInputStream, buffer );
String target = buffer.toString( MCharset.CS_ISO_8859_1 );
Matcher matcher = pattern.matcher( target );
return matcher.find();
}
//--------------------------------------------------------------------------------
public static boolean lineMatches( Pattern pattern, MHttpResponse response )
throws IOException
{
BufferedReader reader = new BufferedReader( new InputStreamReader( response.getBodyInputStream(), MCharset.CS_ISO_8859_1 ) );
while( true )
	{
	String target = reader.readLine();
	if( target == null )
		{
		break;
		}
	Matcher matcher = pattern.matcher( target );
	if( matcher.find() )
		{
		return true;
		}	
	}
return false;
}
//--------------------------------------------------------------------------------
public static boolean bufferMatches( Pattern pattern, MHttpResponse response )
throws IOException
{
byte[] buffer = new byte[ BUFSIZE ];
InputStream bodyInputStream = response.getBodyInputStream();
while( true )
	{
	int r = bodyInputStream.read( buffer );
	if( r == -1 )
		{
		break;
		}
	String target = new String( buffer, 0, r, MCharset.CS_ISO_8859_1 );
	Matcher matcher = pattern.matcher( target );
	if( matcher.find() )
		{
		return true;
		}
	}
return false;
}
//--------------------------------------------------------------------------------
public static boolean headMatches( Pattern pattern, MHttpResponse response )
throws IOException
{
byte[] buffer = new byte[ HEAD_BUFSIZE ];
InputStream bodyInputStream = response.getBodyInputStream();
int r = bodyInputStream.read( buffer );
if( r == -1 )
	{
	return false;
	}
String target = new String( buffer, 0, r, MCharset.CS_ISO_8859_1 );
Matcher matcher = pattern.matcher( target );
return matcher.find();
}
//--------------------------------------------------------------------------------
}

⌨️ 快捷键说明

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