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

📄 as.java

📁 现在非常流行的手机网游的源码,可以下载来学习学习.
💻 JAVA
字号:
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import javax.microedition.io.Connection;
import javax.microedition.io.Connector;
import javax.microedition.io.ContentConnection;
import javax.microedition.io.HttpConnection;
import javax.microedition.io.InputConnection;

public final class as
  implements Runnable
{
  public static String a;
  public static String[] a;
  public final String[] b;
  private static String f;
  public static String b;
  public String c;
  private static String g;
  private static String h;
  private Thread jdField_a_of_type_JavaLangThread;
  private String i;
  private String j;
  private byte[] jdField_a_of_type_ArrayOfByte;
  private boolean jdField_a_of_type_Boolean;
  private boolean jdField_b_of_type_Boolean;
  private boolean c;
  private String k;
  private String l;
  private byte jdField_b_of_type_Byte;
  private String m;
  public static int a;
  public byte a;
  public static String d;
  public long a;
  public String e;

  public as(String paramString1, String paramString2, boolean paramBoolean)
  {
    this.jdField_b_of_type_ArrayOfJavaLangString = { "SMSPRICE", "PROVICE_NO_FOUND", "MOBILE_NO_FOUND" };
    this.jdField_c_of_type_JavaLangString = "";
    this.m = "";
    this.e = null;
    this.i = paramString1;
    this.j = paramString2;
    this.jdField_b_of_type_Byte = ((paramBoolean) ? 0 : 1);
    this.jdField_a_of_type_JavaLangThread = new Thread(this);
  }

  public final void a()
  {
    if (this.jdField_a_of_type_JavaLangThread != null)
    {
      this.jdField_a_of_type_JavaLangThread.start();
      this.jdField_c_of_type_Boolean = false;
    }
  }

  public final void run()
  {
    b();
    a(be.s);
  }

  private void b()
  {
    String str;
    try
    {
      HttpConnection localHttpConnection1;
      str = null;
      if (this.jdField_b_of_type_Byte == 0)
        str = "http://10.0.0.172" + this.j;
      else
        str = "http://" + this.i + this.j;
      (localHttpConnection1 = (HttpConnection)Connector.open(str, 3)).setRequestProperty("X-Online-Host", this.i);
      if (!(w.o))
        a(localHttpConnection1);
      if (localHttpConnection1.getResponseCode() == 200)
      {
        this.jdField_a_of_type_Long = localHttpConnection1.getLength();
        this.e = localHttpConnection1.getHeaderField("Content-Type");
        if ((this.e != null) && (this.e.indexOf("vnd.wap.wml") != -1))
          this.jdField_a_of_type_Boolean = true;
        if (this.jdField_a_of_type_Boolean)
        {
          HttpConnection localHttpConnection2;
          localHttpConnection1.close();
          (localHttpConnection2 = (HttpConnection)Connector.open("http://10.0.0.172" + this.j, 3)).setRequestProperty("X-Online-Host", this.i);
          if (!(w.o))
            a(localHttpConnection2);
          if (localHttpConnection2.getResponseCode() == 200)
          {
            this.jdField_a_of_type_Long = localHttpConnection2.getLength();
            a(localHttpConnection2, (int)this.jdField_a_of_type_Long);
            this.jdField_b_of_type_Boolean = true;
          }
          else
          {
            this.jdField_b_of_type_Boolean = false;
          }
        }
        else
        {
          a(localHttpConnection1, (int)this.jdField_a_of_type_Long);
          this.jdField_b_of_type_Boolean = true;
        }
      }
      else
      {
        this.jdField_b_of_type_Boolean = false;
      }
      return;
    }
    catch (Exception localException)
    {
      System.out.println("--------------------http连接错误---------------------------");
      this.jdField_b_of_type_Boolean = false;
      localException.printStackTrace();
      return;
    }
    finally
    {
      this.jdField_c_of_type_Boolean = true;
    }
  }

  private static void a(HttpConnection paramHttpConnection)
    throws IOException
  {
    String str1 = "";
    String str2 = "tianjie1";
    try
    {
      str1 = System.getProperty("microedition.platform").trim();
      System.out.println("--platform:" + str1);
    }
    catch (Exception localException)
    {
      System.out.println("Can not get platform!! May be a phoneEmu!");
    }
    paramHttpConnection.setRequestProperty("mammoth_ua", str1);
    paramHttpConnection.setRequestProperty("from", be.a.f);
    paramHttpConnection.setRequestProperty("game-service", str2);
  }

  private byte[] a(HttpConnection paramHttpConnection, int paramInt)
  {
    Object localObject;
    try
    {
      if (paramHttpConnection != null)
      {
        if (!(w.o))
          for (int i1 = 0; i1 < jdField_a_of_type_ArrayOfJavaLangString.length; ++i1)
            jdField_a_of_type_ArrayOfJavaLangString[i1] = paramHttpConnection.getHeaderField(this.jdField_b_of_type_ArrayOfJavaLangString[i1]);
        f = paramHttpConnection.getHeaderField("PASSPORT_BOND");
        g = paramHttpConnection.getHeaderField("result");
        h = paramHttpConnection.getHeaderField("resultstatus");
        jdField_b_of_type_JavaLangString = paramHttpConnection.getHeaderField("resultmsg");
        jdField_b_of_type_JavaLangString = a(jdField_b_of_type_JavaLangString);
        aj.jdField_a_of_type_JavaLangString = paramHttpConnection.getHeaderField("download");
        if (aj.jdField_a_of_type_JavaLangString == null)
          aj.jdField_a_of_type_JavaLangString = "";
        jdField_a_of_type_JavaLangString = paramHttpConnection.getHeaderField("suggestion");
        if (jdField_a_of_type_JavaLangString == null)
          jdField_a_of_type_JavaLangString = "";
        d = paramHttpConnection.getHeaderField("PASSPORT_ID");
        if (d == null)
          d = "";
        localObject = paramHttpConnection.openDataInputStream();
        if (paramInt > 0)
        {
          this.jdField_a_of_type_ArrayOfByte = new byte[paramInt];
          for (int i2 = 0; i2 < paramInt; ++i2)
            this.jdField_a_of_type_ArrayOfByte[i2] = (byte)((DataInputStream)localObject).read();
        }
        else
        {
          ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream();
          int i3 = 0;
          while ((i3 = ((DataInputStream)localObject).read()) != -1)
            localByteArrayOutputStream.write(i3);
          this.jdField_a_of_type_ArrayOfByte = null;
          this.jdField_a_of_type_ArrayOfByte = localByteArrayOutputStream.toByteArray();
          localByteArrayOutputStream.close();
        }
        ((DataInputStream)localObject).close();
        paramHttpConnection.close();
      }
    }
    catch (IOException localIOException)
    {
      (localObject = localIOException).printStackTrace();
      this.jdField_b_of_type_Boolean = false;
    }
    return ((B)null);
  }

  public final String a()
  {
    if (this.k == null)
      return "";
    return this.k;
  }

  public final String b()
  {
    if (this.l == null)
      return "";
    return this.l;
  }

  private void a(byte paramByte)
  {
    if (this.jdField_c_of_type_Boolean)
      if (this.jdField_b_of_type_Boolean)
      {
        this.jdField_a_of_type_Byte = 1;
      }
      else
      {
        this.jdField_a_of_type_Byte = 2;
        if ((!(w.n)) && (be.s == 1))
          this.jdField_a_of_type_Byte = 1;
      }
    switch (this.jdField_a_of_type_Byte)
    {
    case 0:
      break;
    case 1:
      Object localObject1;
      Object localObject2;
      int i2;
      int i3;
      int i4;
      int i5;
      switch (paramByte)
      {
      case 1:
        try
        {
          localObject1 = new StringBuffer();
          for (int i1 = 0; i1 < this.jdField_a_of_type_ArrayOfByte.length; ++i1)
            ((StringBuffer)localObject1).append((char)this.jdField_a_of_type_ArrayOfByte[i1]);
          i2 = (localObject2 = ((StringBuffer)localObject1).toString()).indexOf("userId=");
          i3 = ((String)localObject2).indexOf("\r", i2);
          this.k = ((String)localObject2).substring(i2 + 7, i3);
          i4 = ((String)localObject2).indexOf("key=", i3);
          i5 = ((String)localObject2).indexOf("\r", i4);
          this.l = ((String)localObject2).substring(i4 + 4, i5);
          jdField_a_of_type_Int = -1;
        }
        catch (Exception localException2)
        {
          (localObject1 = localException2).printStackTrace();
        }
        break;
      case 2:
        jdField_a_of_type_Int = -1;
        localObject1 = new ByteArrayInputStream(this.jdField_a_of_type_ArrayOfByte);
        localObject2 = new DataInputStream((InputStream)localObject1);
        try
        {
          this.m = "";
          i2 = ((DataInputStream)localObject2).readShort();
          jdField_a_of_type_Int = ((DataInputStream)localObject2).readByte();
          for (i3 = 0; i3 < 32; ++i3)
            this.m += ((DataInputStream)localObject2).readChar();
          be.jdField_b_of_type_JavaLangString = this.m;
          StringBuffer localStringBuffer = new StringBuffer();
          i4 = 0;
          i5 = i2 - 1 - 64 >> 1;
          while (i4 < i5)
          {
            localStringBuffer.append(((DataInputStream)localObject2).readChar());
            ++i4;
          }
          this.jdField_c_of_type_JavaLangString = localStringBuffer.toString();
          ((DataInputStream)localObject2).close();
          ((ByteArrayInputStream)localObject1).close();
        }
        catch (Exception localException3)
        {
          Exception localException1;
          (localException1 = localException3).printStackTrace();
        }
        break;
      case 3:
        jdField_a_of_type_Int = -1;
        if ((g == null) || (g.equals("1")))
          this.jdField_a_of_type_Byte = 2;
        else if (h == null)
          this.jdField_a_of_type_Byte = 2;
        else if (h.equals("1100"))
          jdField_a_of_type_Int = 1;
        else
          jdField_a_of_type_Int = 100;
      }
      break;
    case 2:
      this.k = (this.l = null);
    }
    be.a.c(be.J);
  }

  private static String a(String paramString)
  {
    if (paramString == null)
      return null;
    StringBuffer localStringBuffer = new StringBuffer();
    for (int i2 = 0; i2 < paramString.length(); ++i2)
    {
      int i3;
      if ((i3 = paramString.charAt(i2)) == '%')
      {
        int i1 = i2;
        if (paramString.length() >= ++i2 + 4)
        {
          i3 = Integer.parseInt(paramString.substring(i2, i2 + 4), 16);
          i2 += 3;
        }
        else
        {
          i2 = i1;
        }
      }
      localStringBuffer.append((char)i3);
    }
    return localStringBuffer.toString();
  }

  public static boolean a()
  {
    if (f == null)
      return false;
    return f.toLowerCase().equals("true");
  }

  static
  {
    jdField_a_of_type_JavaLangString = "";
    jdField_a_of_type_ArrayOfJavaLangString = { "", "1", "1" };
    f = "";
    jdField_b_of_type_JavaLangString = null;
    g = "";
    h = "";
    jdField_a_of_type_Int = -1;
    d = "";
  }
}

⌨️ 快捷键说明

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