mhtunnelrequest.java

来自「httptunnel.jar httptunnel java 源码」· Java 代码 · 共 75 行

JAVA
75
字号
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 + =
减小字号Ctrl + -
显示快捷键?