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