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

📄 mtinyproxy.java

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

import java.io.*;
import java.util.*;
import java.net.*;
import net.jumperz.net.*;
import net.jumperz.util.*;
import net.jumperz.app.MGuardian.*;

public class MTinyProxy
extends MGuardianPlugin
{
//--------------------------------------------------------------------------------
public Map execute( Map sessionInfo )
throws IOException
{
MHttpRequest request = ( MHttpRequest )sessionInfo.get( "request" );
String uriStr = request.getUri();

if( uriStr.indexOf( "http://" ) != 0 )
	{
	return null;
	}

URI uri = null;
try
	{
	uri = new URI( uriStr );
	}
catch( URISyntaxException e )
	{
	throw new IOException( e.getMessage() );
	}

String host = uri.getHost();
InetAddress inetAddress = InetAddress.getByName( host );
int port = uri.getPort();
if( port == -1 )
	{
	port = 80;
	}

uriStr = uriStr.substring( 7 );
int index = uriStr.indexOf( '/' );
if( index == -1 )
	{
	return null;
	}

uriStr = uriStr.substring( index );
request.setUri( uriStr );

Socket oldSocket = ( Socket )sessionInfo.get( "serverSideSocket" );
if( oldSocket == null )
	{
	Socket serverSideSocket = new Socket( host, port );
	Map pluginResult = new HashMap();
	pluginResult.put( "serverSideSocket", serverSideSocket );
	return pluginResult;
	}
else
	{
	if( oldSocket.getInetAddress().equals( inetAddress ) 
	 && oldSocket.getPort() == port 
	  )
		{
			// reuse socket
		return null;
		}
	else
		{
			// change socket
		Socket serverSideSocket = new Socket( host, port );
		Map pluginResult = new HashMap();
		pluginResult.put( "serverSideSocket", serverSideSocket );
		return pluginResult;
		}
	}
}
//--------------------------------------------------------------------------------
}

⌨️ 快捷键说明

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