📄 mhtunnelrequest.java
字号:
package net.jumperz.app.httptunnel.MLEYE;
import net.jumperz.net.*;
import java.io.*;
import java.net.*;
import net.jumperz.util.*;
import net.jumperz.app.httptunnel.*;
import net.jumperz.net.*;
public final class MHTunnelRequest
{
private MTunnelData tunnelData;
private static final int BUFSIZE = 1024;
public static String httpProxyHost;
public static int httpProxyPort;
public static String rEyeHost;
public static int rEyePort;
public static boolean encryptData;
// proxy authentication
public static String proxyAuthValue;
//---------------------------------------------------------------------------------
public MHTunnelRequest( MTunnelData IN_tunnelData )
{
tunnelData = IN_tunnelData;
}
//---------------------------------------------------------------------------------
public final byte[] toByteArray()
throws Exception
{
byte[] body = null;
if( encryptData )
{
body = MCipher.getInstance().encrypt( tunnelData.toByteArray() );
}
else
{
body = tunnelData.toByteArray();
}
int contentLength = body.length;
MHttpRequest request = new MHttpRequest();
request.setMethod( "POST" );
request.setUri( "http://" + rEyeHost + ":" + rEyePort + "/" );
request.setHeaderValue( "Content-Length" , String.valueOf( contentLength ) );
// additional headers
// proxy authentication
if( proxyAuthValue != null )
{
request.setHeaderValue( "Proxy-authorization", proxyAuthValue );
}
byte[] header = request.getHeader();
byte[] byteArray = new byte[ header.length + body.length ];
System.arraycopy( header, 0, byteArray, 0, header.length );
System.arraycopy( body, 0, byteArray, header.length, body.length );
return byteArray;
}
//---------------------------------------------------------------------------------
public final MTunnelData getTunnelData()
{
return tunnelData;
}
//---------------------------------------------------------------------------------
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -