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

📄 network connections-httpconnectionhelper.java

📁 RMS移动商务应用开发
💻 JAVA
字号:
/* License *  * Copyright 1994-2004 Sun Microsystems, Inc. All Rights Reserved. *  * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: *   *  * Redistribution of source code must retain the above copyright notice, *      this list of conditions and the following disclaimer. *  *  * Redistribution in binary form must reproduce the above copyright notice, *      this list of conditions and the following disclaimer in the *      documentation and/or other materials provided with the distribution. *  * Neither the name of Sun Microsystems, Inc. or the names of contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. *   * This software is provided "AS IS," without a warranty of any kind. ALL * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE * AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. *   * You acknowledge that this software is not designed, licensed or intended * for use in the design, construction, operation or maintenance of any * nuclear facility.  */  import java.io.*;  import javax.microedition.io.*;     public class HttpConnectionHelper {     public interface Callback {      void prepareRequest( String originalURL,                           HttpConnection conn )           throws IOException;    }       public static HttpConnection connect( String url )                                   throws IOException {      return connect( url, null );    }       public static HttpConnection connect(            String url, Callback callback )                         throws IOException {      HttpConnection conn = null;      String         originalURL = url;         while( url != null ){        HttpConnection conn = (HttpConnection)                          Connector.open( url );           if( callback != null ){          callback.prepareRequest( originalURL,                                         conn );        }           int rc = conn.getResponseCode();          switch( rc ){            case HttpConnection.HTTP_MOVED_PERM:            case HttpConnection.HTTP_MOVED_TEMP:            case HttpConnection.HTTP_SEE_OTHER:            case HttpConnection.HTTP_TEMP_REDIRECT:              url = conn.getHeaderField( "Location" );              if( url != null && url.startsWith(                                            "/*" ) ){                StringBuffer b = new StringBuffer();                b.append( "http://" );                b.append( conn.getHost() );                b.append( ':' );                b.append( conn.getPort() );                b.append( url );                url = b.toString();              }              conn.close();              break;            default:              url = null;              break;        }      }      return conn;   } }

⌨️ 快捷键说明

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