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

📄 mrequestlogger.java

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

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

public class MRequestLogger
extends MGuardianPlugin
{
private Set userAgentSet;
private String userAgentSetFileName;
private String logDirName;
private File logDir;
//--------------------------------------------------------------------------------
public void startup()
throws IOException
{
userAgentSetFileName	= control.getProperty( "requestLogger.userAgentSetFileName" );
logDirName		= control.getProperty( "requestLogger.logDirName" );
logDir			= new File( logDirName );
File userAgentSetFile	= new File( userAgentSetFileName );
if( !userAgentSetFile.exists() )
	{
	userAgentSetFile.createNewFile();
	}
userAgentSet		= new HashSet( MStringUtil.loadListFromFile( userAgentSetFileName ) );
}
//--------------------------------------------------------------------------------
public Map execute( Map sessionInfo )
{
MHttpRequest request = ( MHttpRequest )sessionInfo.get( "request" );

String userAgent = request.getHeaderValue( "User-Agent" );
if( userAgent != null )
	{
	synchronized( this )
		{
		if( !userAgentSet.contains( userAgent ) )
			{
			userAgentSet.add( userAgent );
			try
				{
				saveRequest( request );		
				}
			catch( IOException e )
				{
				e.printStackTrace();
				}
			}		
		}
	}
return null;
}
//--------------------------------------------------------------------------------
private void saveRequest( MHttpRequest request )
throws IOException
{
DecimalFormat format = new DecimalFormat( "0000" );
for( int i = 0;;++i )
	{
	String fileName = logDir.getCanonicalPath() + "/" + format.format( i );
	File log = new File( fileName );
	if( !( log.exists() ) )
		{
		FileOutputStream out = new FileOutputStream( log );
		out.write( request.getHeader() );
		out.close();
		break;
		}
	}
}
//--------------------------------------------------------------------------------
public void shutdown()
{
try
	{
	MStringUtil.saveCollectionToFile( userAgentSet , userAgentSetFileName );	
	}
catch( IOException e )
	{
	e.printStackTrace();
	}
}
//--------------------------------------------------------------------------------
}

⌨️ 快捷键说明

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