📄 mdropagent.java
字号:
package net.jumperz.app.MDeadDrop;
import net.jumperz.util.*;
import net.jumperz.net.*;
import java.net.*;
import java.io.*;
public class MDropAgent
implements MCommand
{
private static Object mutex = new Object();
private Socket socket;
private String urlStr;
private String host;
private int port;
private String title;
//--------------------------------------------------------------------------------
public MDropAgent( String in_urlStr )
{
urlStr = in_urlStr;
}
//--------------------------------------------------------------------------------
public void execute()
{
try
{
getData();
}
catch( IOException e )
{
e.printStackTrace();
}
}
//--------------------------------------------------------------------------------
private void getData()
throws IOException
{
URL url = new URL( urlStr );
port = url.getPort();
if( port == -1 )
{
port = 80;
}
host = url.getHost();
MHttpRequest 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", "DeadDrop@JUMPERZ.NET" );
socket = new Socket( host, port );
OutputStream outputStream = socket.getOutputStream();
BufferedInputStream stream = new BufferedInputStream( socket.getInputStream() );
// send request
outputStream.write( request.getHeader() );
// recv response
MHttpResponse response = new MHttpResponse( stream );
String body = MStreamUtil.streamToString( response.getBodyInputStream() );
title = MRegEx.getMatchIgnoreCase( "<title>([^<]{1,})</title>", body );
out();
}
//--------------------------------------------------------------------------------
private void out()
throws IOException
{
synchronized( mutex )
{
System.out.write( urlStr.getBytes( MCharset.CS_ISO_8859_1 ) );
System.out.write( 0x09 );
System.out.write( title.getBytes( MCharset.CS_ISO_8859_1 ) );
System.out.write( 0x0A );
}
}
//--------------------------------------------------------------------------------
public void breakCommand()
{
if( socket != null )
{
try
{
socket.close();
}
catch( IOException e )
{
}
}
}
//--------------------------------------------------------------------------------
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -