📄 httpthread.java
字号:
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import java.io.*;
public class HTTPThread implements Runnable
{
private MainMIDlet mm;
private Thread thread;
private String urlconn = "http://www.126.com/";
private static String strequest = "";
private boolean bComplete = false;
public HTTPThread(MainMIDlet mm)
{
this.mm = mm;
}
public void connect()
{
(thread = new Thread(this)).start();
}
public void request(String url)
{
bComplete = false;
strequest = "";
urlconn = url;
//~ mm.mc.gt.start();
(thread = new Thread(this)).start();
}
public String getResult()
{
//System.out.println("返回:"+strequest);
if(bComplete)
return strequest;
else return null;
}
public void run()
{
HttpConnection hc = null;
InputStream is=null;
StringBuffer buffer=new StringBuffer();
String result="";
try
{
System.out.println("..............");
hc=(HttpConnection)Connector.open(urlconn,Connector.READ_WRITE);
hc.setRequestMethod(HttpConnection.POST);
String mobileTitle = hc.getHeaderField("Content-Type");
int b = 0;
while (mobileTitle.startsWith("text/vnd.wap.wml"))
{
hc.close();
hc = null;
hc = (HttpConnection) Connector.open(urlconn,Connector.READ_WRITE);
hc.setRequestMethod(HttpConnection.POST);
mobileTitle = hc.getHeaderField("Content-Type");
if (++b >= 50)
break;
}
System.out.println("..............");
System.out.println("服务器地址是:"+hc.getHost());
System.out.println("服务器端口是:"+hc.getPort());
System.out.println("网络协议是:"+hc.getProtocol());
System.out.println("服务器URL是:"+hc.getURL());
System.out.println("返回数据长度:"+hc.getLength());
System.out.println("getQuery():"+hc.getQuery());
System.out.println("getRequestMethod():"+hc.getRequestMethod());
System.out.println("getDate():"+hc.getDate());
System.out.println("getEncoding():"+hc.getEncoding());
System.out.println("getType():"+hc.getType());
int status = hc.getResponseCode();
if(status == HttpConnection.HTTP_OK)
{
is=hc.openInputStream();
int ch;
while((ch=is.read())!=-1)
{
buffer.append((char)ch);
//System.out.println(ch);
}
strequest = buffer.toString();
//strequest = new String(strequest.getBytes("iso-8859-1"),"gb2312");
strequest = (new String(strequest.getBytes("iso-8859-1"),"utf-8")).substring(2);//EFBBBF-utf-8,FFFE-little-endian,FEFF-big-endian
bComplete = true;
System.out.println("成功-!");
}
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
finally
{
try
{
if(is!=null)
{
is.close();
}
if(hc!=null)
{
hc.close();
}
}catch(Exception e){}
if(bComplete)
mm.mc.connrefresh(bComplete);
else
mm.mc.connrefresh(bComplete);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -