冒险岛私服发布网
网站首页 | 私服技术 | 心情故事 | 官方动态 | 业内新闻
当前位置 :首页 > 官方动态 >> 最新文章
Java ME应用设计之联网重定向(HTTP代码302)
作者:http://www.2kdns.com/ 日期::2010-04-13 来源:http://www.2kdns.com/ 点击:
     HTTP 1.1协定容许Web服务器临时转变资源的地位,也就是说你拜访的资源在另外一个地址。这时候服务器返回的响应代码是302,而新的地址寄存在Header中,Header的名称是Location。正常情形下,客户端阅读器应当指向临时的拜访地址。但是,移动终端装备差距很大,在处置302返回码的时候,设备之间的行动差别很大.
     事实证实在某些装备上,底层的网络协定栈处置重定向的问题,302响应码告知利用程序内部的处置流程。运用程序应当等候直到响应码即是302。但是有些装备不能准确地从响应中解析出Location字段,这样Location字段的内容是null,响应码存储在了响应的内容之中。因此可采取下面的解决措施.
private void getConnection(String url){
  try {
   HttpConnection connect = (HttpConnection)Connector.open(url);
   int statusCode = connect.getResponseCode();
   int port = connect.getPort();
   String reConnectUrl = connect.getHeaderField("Location");
  
   System.out.println("服务器响应代码:"+statusCode);
   System.out.println("服务器响应端口:"+port);
  
   if((statusCode == HttpConnection.HTTP_TEMP_REDIRECT) || (statusCode == HttpConnection.HTTP_MOVED_TEMP)
     || (statusCode == HttpConnection.HTTP_MOVED_PERM)){
    System.out.println("须要连接重定向"),魔兽世界仿盛大私服;
    if(reConnectUrl != null){
     //重连接
     System.out.println("正在重连");
     connect.close();
     connect = (HttpConnection)Connector.open(reConnectUrl);
     System.out.println("重连胜利");
    }else{ //reConnectUrl == null
     //解析查找返回头
     //......
     if(reConnectUrl != null){ //找到URL
       //重衔接
      System.out.println("正在重连");
      connect.close();
      connect = (HttpConnection)Connector.open(reConnectUrl);
   ,我未来的小窝;   System.out.println("重连胜利");
     }else{ //未找到
      long startTime = System.currentTimeMillis();
      //等候一段时光,或者等HTTP_OK时重连接
      while(System.currentTimeMillis()-startTime<1000 || statusCode != HttpConnection.HTTP_OK){
       System.out.println("等候重连...");
       statusCode = connect.getResponseCode();
      }
      if(statusCode == HttpConnection.HTTP_OK){
       //重衔接
       System.out.println("正在重连");
       connect.close();
  ,魔兽私服技术论坛;     connect = (HttpConnection)Connector.open(reConnectUrl);
       System.out.println("重连胜利",前些日子乱画的`;);
      }else{ //statusCode != HttpConnection.HTTP_OK
       //发布衔接失败或抛出异常
       System.out.println("服务器连接失败");
       connect.close();
      }
     }
    }
   }
  
   InputStream is = connect.openInputStream();
  
   String type = connect.getType();
  
   int len = (int)connect.getLength();
  
   if(len > 0){
    int actual = 0;
    int bytesread = 0;
    byte[] data = new byte[len];
    while((bytesread != len) && (actual != -1)){
     actual = is.read(data,bytesread,actual);
     bytesread += actual;
    }
    System.out.println(new String(data));
   }else{
  ,爱上你,注定是伤;  int inBuffer;
    StringBuffer sb = new StringBuffer();
    while((inBuffer = is.read()) != -1){
     sb.append(inBuffer);
    }
    System.out.println(sb);
   }
   is.close();
   is = null;
   connect.close();
   connect = null;
  
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
}

    红色部分代码是用来读取信息的,之所以要写得这么麻烦是由于由于手机实现得不同,在一些厂商得手机上并不能获取数据长度,因此用一个字节一个字节得读取比拟稳妥!
 
原载:第一冒险岛私服
版权声明:转载请以链接的形式注明作者及原出处,并保留本版权信息,严禁一切非法复制。
·[转]最强的排毒菜,转给我关
·[转]胖补气,瘦补血[图片][信
·2011年放飞孔明灯
·久咳和口腔溃疡偏方
·看完就能开车了
·王文远平衡针灸穴位图5[图片
·遇到一个善良的盗Q贼
·[转]50款人气电视墙[图片]
·[转]是不是等我离开了,你才
·[转]转发:接吻的秘密,嘻嘻。
最热文章
·INF中服务安装段落无效
·100条可爱短语
·转一个在线看电视台的方法
·女人是怎样SM自己的男友的
·超准!49个瓶子你选哪个?
·支付宝提现小心变“套现”
·Java ME应用设计之联网重定向
·免费调戏床上美女(未成年禁
·经典爱情诗
·治病的土方法二

欢迎访问 http://www.2kdns.com/ Copyright 2007-2008 冒险岛私服 版权所有 | Powered by 冒险岛私服网

黑ICP备05005410号 未经本站允许镜像或者盗链的网站将受法律责任!