📄 requestutil.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
// Source File Name: RequestUtil.java
package gnnt.util.service.HQVO;
import java.io.*;
import java.net.*;
import java.util.zip.GZIPInputStream;
// Referenced classes of package gnnt.util.service.HQVO:
// CMDVO, CMDProductInfoVO, CMDSortVO, CMDQuoteVO,
// CMDBillVO, CMDMinVO, CMDMarketSortVO, CMDByTimeVO,
// ProductInfoListVO
public class RequestUtil
{
public static final byte CMD_TEST_CONNECT = 0;
public static final byte CMD_CODELIST = 1;
public static final byte CMD_QUOTE = 2;
public static final byte CMD_CLASS_SORT = 3;
public static final byte CMD_MIN_DATA = 4;
public static final byte CMD_BILL_DATA = 5;
public static final byte CMD_TRADETIME = 6;
public static final byte CMD_DATE = 7;
public static final byte CMD_MARKET_SORT = 8;
public static final byte CMD_BYTIME = 9;
public static final byte CMD_MIN_LINE_INTERVAL = 10;
public static final byte CMD_QUOTE_LIST = 20;
public RequestUtil()
{
}
public static void sendRequest(CMDVO cmd, Socket socket)
throws IOException
{
DataOutputStream output = new DataOutputStream(socket.getOutputStream());
ByteArrayOutputStream array = new ByteArrayOutputStream();
DataOutputStream outputArray = new DataOutputStream(array);
switch(cmd.cmd)
{
case 11: // '\013'
case 12: // '\f'
case 13: // '\r'
case 14: // '\016'
case 15: // '\017'
case 16: // '\020'
case 17: // '\021'
case 18: // '\022'
case 19: // '\023'
default:
break;
case 10: // '\n'
outputArray.writeByte(10);
outputArray.flush();
output.write(array.toByteArray());
output.flush();
outputArray.close();
break;
case 1: // '\001'
CMDProductInfoVO cmdList = (CMDProductInfoVO)cmd;
outputArray.writeByte(1);
outputArray.writeInt(cmdList.date);
outputArray.writeInt(cmdList.time);
outputArray.flush();
output.write(array.toByteArray());
output.flush();
outputArray.close();
break;
case 3: // '\003'
CMDSortVO cmdSort = (CMDSortVO)cmd;
outputArray.writeByte(3);
outputArray.writeByte(cmdSort.sortBy);
outputArray.writeByte(cmdSort.isDescend);
outputArray.writeInt(cmdSort.start);
outputArray.writeInt(cmdSort.end);
outputArray.flush();
output.write(array.toByteArray());
output.flush();
outputArray.close();
break;
case 2: // '\002'
CMDQuoteVO cmdQuote = (CMDQuoteVO)cmd;
outputArray.writeByte(2);
outputArray.writeByte(cmdQuote.isAll);
outputArray.writeInt(cmdQuote.codeList.length);
for(int i = 0; i < cmdQuote.codeList.length; i++)
{
outputArray.writeUTF(cmdQuote.codeList[i][0]);
outputArray.writeUTF(cmdQuote.codeList[i][1]);
}
outputArray.flush();
output.write(array.toByteArray());
output.flush();
outputArray.close();
break;
case 5: // '\005'
CMDBillVO bill = (CMDBillVO)cmd;
outputArray.writeByte(5);
outputArray.writeUTF(bill.code);
outputArray.writeByte(bill.type);
outputArray.writeInt(bill.time);
outputArray.flush();
output.write(array.toByteArray());
output.flush();
outputArray.close();
break;
case 4: // '\004'
CMDMinVO min = (CMDMinVO)cmd;
outputArray.writeByte(4);
outputArray.writeUTF(min.code);
outputArray.writeByte(min.type);
outputArray.writeInt(min.time);
outputArray.flush();
output.write(array.toByteArray());
output.flush();
outputArray.close();
break;
case 8: // '\b'
CMDMarketSortVO cmdMarketSort = (CMDMarketSortVO)cmd;
outputArray.writeByte(8);
outputArray.writeInt(cmdMarketSort.num);
outputArray.flush();
output.write(array.toByteArray());
output.flush();
outputArray.close();
break;
case 7: // '\007'
outputArray.writeByte(7);
outputArray.flush();
output.write(array.toByteArray());
output.flush();
outputArray.close();
break;
case 6: // '\006'
outputArray.writeByte(6);
outputArray.flush();
output.write(array.toByteArray());
output.flush();
outputArray.close();
break;
case 9: // '\t'
CMDByTimeVO cmdByTime = (CMDByTimeVO)cmd;
outputArray.writeByte(9);
outputArray.writeInt(cmdByTime.time);
outputArray.flush();
output.write(array.toByteArray());
output.flush();
outputArray.close();
break;
case 20: // '\024'
outputArray.writeByte(20);
outputArray.flush();
output.write(array.toByteArray());
output.flush();
outputArray.close();
break;
}
}
private static byte[] getRepoent(String url)
throws MalformedURLException, IOException
{
URL page = null;
page = new URL(url);
URLConnection urlc = page.openConnection();
urlc.connect();
BufferedInputStream inputs = new BufferedInputStream(urlc.getInputStream());
ByteArrayOutputStream array = new ByteArrayOutputStream();
for(byte by[] = new byte[1024]; inputs.read(by) > 0; array.write(by));
inputs.close();
return array.toByteArray();
}
public static ProductInfoListVO getProductInfoList(String url)
throws MalformedURLException, IOException
{
ByteArrayInputStream arrayInput = new ByteArrayInputStream(getRepoent(url));
GZIPInputStream gzin = new GZIPInputStream(arrayInput);
DataInputStream input = new DataInputStream(gzin);
input.readByte();
ProductInfoListVO productInfoList = CMDProductInfoVO.getObj(input);
input.close();
gzin.close();
return productInfoList;
}
public static void main(String args[])
{
try
{
Socket socket = new Socket("127.0.0.1", 888);
CMDMinVO cmd = new CMDMinVO();
cmd.code = "G0509";
sendRequest(cmd, socket);
DataInputStream input = new DataInputStream(socket.getInputStream());
System.out.println(input.readByte());
System.out.println(input.readUTF());
System.out.println(input.readByte());
System.out.println(input.readInt());
Object objs[] = CMDMinVO.getObj(input);
for(int i = 0; i < objs.length; i++)
System.out.println(objs[i]);
System.out.println("2");
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -