📄 mtinyproxy.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 + -