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

📄 mbenjaminabstracthttpcommand.java

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

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

import javax.net.SocketFactory;
import javax.net.ssl.*;

public abstract class MBenjaminAbstractHttpCommand
extends MBenjaminCommand
{
private String urlStr;
private String specialString;
private URL url;
private String host;
private int port;
private MHttpRequest request;
private MHttpResponse response;
//private Socket socket;
private Exception exception;

protected int defaultPort;
protected SocketFactory socketFactory;
protected String className;
//-------------------------------------------------------------------------------
public final void setSpecialString( String in_specialString )
{
specialString = in_specialString;
}
//-------------------------------------------------------------------------------
public final void setUrl( String in_urlStr )
{
urlStr = in_urlStr;
}
//-------------------------------------------------------------------------------
protected final void executeBenjamin()
throws Exception
{
url = new URL( urlStr );
host = url.getHost();
port = url.getPort();
if( port == -1 )
	{
	port = defaultPort;
	}

request = new MHttpRequest();

String query = url.getQuery();
if( query != null )
	{
	request.setUri( url.getPath() + "?" + query );
	}
else
	{
	request.setUri( url.getPath() );
	}

request.setHeaderValue( "Host", host );
request.setHeaderValue( "Pragma", "no-cache" );
request.setHeaderValue( "Connection", "close" );
request.setHeaderValue( "User-Agent", "Benjamin@JUMPERZ.NET" );

	// connect
//socketFactory			= SSLSocketFactory.getDefault();
socket				= socketFactory.createSocket( host, port  );	
OutputStream outputStream	= socket.getOutputStream();
BufferedInputStream stream	= new BufferedInputStream( socket.getInputStream() );

	// send request
outputStream.write( request.getHeader() );

	// recv response
response = new MHttpResponse( stream );

String body = MStreamUtil.streamToString( response.getBodyInputStream() );

if( body.indexOf( specialString ) > -1 
// && response.getStatusCode() == 200
  )
	{
	System.out.println( "OK! " + this.toString() );
	notify1();
	}
}
//-------------------------------------------------------------------------------
public final String toString()
{
StringBuffer strBuf = new StringBuffer();
strBuf.append( className );
strBuf.append( url );
strBuf.append( ":" );
strBuf.append( specialString );
if( exception != null )
	{
	strBuf.append( ":" );
	strBuf.append( exception );
	}
return strBuf.toString();
}
//-------------------------------------------------------------------------------
}

⌨️ 快捷键说明

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