try
        {
                String sProgram = "jxsj";
                if(sType.equals("JXXM")){
                    sProgram = "jxxm";
                    int iT = 0;
                    iT = param1.indexOf(" ");
                    if(iT>0)
                    {
                        param2 = param1.substring(iT).trim();
                        param1 = param1.substring(0,iT).trim();
                    }
                }                java.io.InputStream l_urlStream;
                //_sIP = "127.0.0.1";
                String sURL = "http://"+_sIP+"/thc/out/"+sProgram+".asp?spid="+spid+
                              "&msg1="+param1+
                              "&msg2="+param2+
                              "&phone="+phone;
                //sURL ="http://www.263.net";
                _auguryLog.logMsg(sURL);
                try{
                    java.net.URL l_url = new java.net.URL(sURL);
                    java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url.openConnection();
                    l_connection.connect();
                    l_urlStream = l_connection.getInputStream();
                    java.io.BufferedReader l_reader = new java.io.BufferedReader(new java.io.InputStreamReader(l_urlStream));
                    String sCurrentLine = "";
                    String sTotalString = "";
                    while ((sCurrentLine = l_reader.readLine()) != null)                    {
                        sTotalString+=sCurrentLine;
                    }
                    if(sProgram.equals("jxsj") ){
                        int iT = sTotalString.indexOf("|");
                        String sServerID = sTotalString.substring(0,iT);
                        String sAll = sTotalString.substring(iT+1);
                        sendMSG(sServerID,sAll,phone,phone);
                    }else if (sProgram.equals("jxxm")){
                        int iT = sTotalString.indexOf("@@@");
                        String sJXSM = sTotalString.substring(0,iT);
                        String sBZ = sTotalString.substring(iT+3);
                        iT = sJXSM.indexOf("|");
                        String sServerID = sJXSM.substring(0,iT);
                        String sAll = sJXSM.substring(iT+1);
                        sendMSG(sServerID,sAll,phone,phone);
                        iT = sBZ.indexOf("|");
                        sServerID = sBZ.substring(0,iT);
                        sAll = sBZ.substring(iT+1);
                        sendMSG(sServerID,sAll,phone,phone);
                    }
                    //System.out.println(sTotalString);
                }catch(Exception ex1){
                    ex1.printStackTrace();
                    throw ex1;
                }
            }
            catch (Exception ioe)
            {
                _errorLog .logMsg("IOException: " + ioe.getMessage());
            }

解决方案 »

  1.   

    这是我的一段代码,你看看吧就是读远程的http响应
      

  2.   


                        java.net.URL l_url = new java.net.URL(sURL);
                        java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url.openConnection();
                        l_connection.connect();
                        l_urlStream = l_connection.getInputStream();
                        java.io.BufferedReader l_reader = new java.io.BufferedReader(new java.io.InputStreamReader(l_urlStream));
                        String sCurrentLine = "";
                        String sTotalString = "";
                        while ((sCurrentLine = l_reader.readLine()) != null)                    {
                            sTotalString+=sCurrentLine;
                        }其实就这么点,有什么头晕的
      

  3.   

    public boolean downLoadFile2(String fileurl, String savepath)
    {//Things need to do:
    //Set connection timeout
    //Try more times to download
    //Catch a general Exception is not so good
    //...
    try
    {
    int httpStatusCode;
    URL url =new URL(fileurl);
    URLConnection conn = url.openConnection();
    conn.connect();
    HttpURLConnection httpconn =(HttpURLConnection)conn;
    httpStatusCode =httpconn.getResponseCode();
    if(httpStatusCode!=HttpURLConnection.HTTP_OK)
    {//HttpURLConnection return an error code
    System.out.println("Connect to "+fileurl+" failed,return code:"+httpStatusCode);
    return false;
    }
    int filelen = conn.getContentLength();
    InputStream is = conn.getInputStream();
    byte[] tmpbuf=new byte[1024];
    File savefile =new File(savepath);
    if(!savefile.exists())
    savefile.createNewFile();
    FileOutputStream fos = new FileOutputStream(savefile);
    int readnum = 0;
    if(filelen<0)//for http://www.csdn.net/expert/topic/204/204361.shtm, conn.getContentLength() return -1.
    {
    while(readnum>-1)
    {
    readnum = is.read(tmpbuf);
    if(readnum>0)
    fos.write(tmpbuf,0,readnum);
    }
    }
    else
    {
    int readcount =0;
    while(readcount<filelen&&readnum!=-1)
    {
    readnum=is.read(tmpbuf);
    if(readnum>0)
    {
    fos.write(tmpbuf,0,readnum);
    readcount =readcount +readnum;
    }
    }
    if(readcount<filelen)
    {
    System.out.println("download error");
    is.close();
    fos.close();
    savefile.delete();
    return false;
    }
    }
    fos.flush();
    fos.close();
    is.close();
    }
    catch(Exception e)
    {
    e.printStackTrace();
    return false;
    }
    return true;
    }