隨筆 - 1, 文章 - 44, 評論 - 2, 引用 - 0
          數據加載中……

          使用HttpURLConnection將字符流發送到servlet

          使用HttpURLConnection將字符流發送到servlet.
          此功能將字符串以流的形式發送給一個servlet.

          代碼如下:

          public String postStringToUrl(String Str, String urlStr){
          ??? ??? BufferedWriter bWriter = null;
          ??? ??? HttpURLConnection urlConn = null;
          ??? ??? String message = Str;
          ??? ??? String target = urlStr;
          ??? ??? String sCurrentLine = "";
          ??? ??? String sTotalString = "";
          ??? ??? int res = 0;
          ??? ??? try{
          ??? ??? ??? byte[] byteBuffer = message.getBytes("GB2312");
          ??? ??? ??? URL httpurl = new URL(target);
          ??? ??? ??? urlConn = (HttpURLConnection)httpurl.openConnection();
          ??? ??? ??? urlConn.setRequestProperty("Content-Type","application/octet-stream");
          ??? ??? ??? urlConn.setRequestProperty("Content-length", ""??? + byteBuffer.length);
          ??? ??? ??? urlConn.setRequestProperty("pure-data", "yes");
          ??? ??? ??? urlConn.setRequestProperty("Connection","Keep-Alive");
          ??? ??? ???
          ??? ??? ??? urlConn.setDoOutput(true);
          ??? ??? ??? OutputStream out = urlConn.getOutputStream();
          ??? ??? ???
          ??? ??? ??? try{
          ??? ??? ??? ??? out.write(byteBuffer);
          ??? ??? ??? }
          ??? ??? ??? finally{
          ??? ??? ??? ??? out.flush();
          ??? ??? ??? ??? out.close();
          ??? ??? ??? ??? message = null;
          ??? ??? ??? ??? target = null;
          ??? ??? ??? }
          ???
          ??? ?? ?? ? //url請求返回code值
          ??? ??? ??? res = urlConn.getResponseCode();
          ??? ??? ??? if (res == 200) {
          ??? ??? ??? ??? java.io.InputStream is = urlConn.getInputStream();
          ??? ??? ??? ??? BufferedReader reader = new BufferedReader(
          ??? ??? ??? ??? ??? ??? new InputStreamReader(is));
          ??? ??? ??? ??? while ((sCurrentLine = reader.readLine()) != null)
          ??? ??? ??? ??? ??? if (sCurrentLine.length() > 0)
          ??? ??? ??? ??? ??? ??? sTotalString = sTotalString + sCurrentLine.trim();
          ??? ??? ??? ??? String tmpStr = new String(sTotalString.getBytes("GB2312"));
          ??? ??? ??? ??? sTotalString = tmpStr;
          ??? ??? ??? } else {
          ??? ??? ??? ??? sTotalString = "遠程服務器連接失敗,錯誤代碼:"+res;

          ??? ??? ??? }

          ??? ??? ??? if (bWriter != null)
          ??? ??? ??? ??? bWriter.close();
          ??? ??? ??? ???
          ??? ??? }
          ??? ??? catch(Exception e){
          ??? ??? ??? sTotalString = "連接服務器失敗.";
          ??? ??? ??? e.printStackTrace();
          ??? ??? }
          ??? ??? return sTotalString;
          ??? }

          posted on 2006-06-06 13:41 ASONG 閱讀(427) 評論(0)  編輯  收藏 所屬分類: JAVA

          主站蜘蛛池模板: 乐陵市| 滦平县| 郎溪县| 华宁县| 遂溪县| 多伦县| 仙居县| 南投市| 方山县| 大庆市| 芜湖市| 光泽县| 太康县| 沽源县| 宁蒗| 宁南县| 旬邑县| 清新县| 南雄市| 固镇县| 宁蒗| 瑞金市| 体育| 三穗县| 温州市| 玉田县| 新宁县| 黔南| 惠安县| 关岭| 南通市| 奉节县| 广西| 康平县| 霍邱县| 韶山市| 竹山县| 昆明市| 宣汉县| 宣威市| 桃江县|