隨筆-204  評論-90  文章-8  trackbacks-0
          1、發送源碼
          import java.io.BufferedReader;
          import java.io.BufferedWriter;
          import java.io.File;
          import java.io.FileReader;
          import java.io.IOException;
          import java.io.OutputStream;
          import java.io.OutputStreamWriter;
          import java.net.HttpURLConnection;
          import java.net.URL;



          /**
           * 通過HTTP上傳文件
           * 
          @author cnyqaio@hotmail.com
           * @create 2008-4-14
           
          */

          public class PostUrl {

              HttpURLConnection conn 
          = null;
              BufferedWriter bWriter 
          = null;
              OutputStream os 
          = null;
              OutputStreamWriter osw 
          = null;
              FileReader fr 
          = null;
              BufferedReader br 
          = null;
              String str 
          = "";
              
          char c = '\n';
              String filename 
          = "d:/shchinamobile.log";

              

              
          /**
               * 通過HTTP協議以POST形式發送指定文件至指定url
               * 
          @param url
               * 
          @throws IOException
               
          */
              
          public void sendPost(String url) {
                  
                  
          try {
                      File f 
          = new File(filename);
                      
                      URL url1 
          = new URL(url);
                      conn 
          = (HttpURLConnection)url1.openConnection();
                      conn.setRequestMethod(
          "POST");
                      conn.setRequestProperty(
          "Content-Type""application/x-www-form-urlencoded");
                      conn.setRequestProperty(
          "Connection""Keep-Alive");
                      conn.setUseCaches( 
          false);
                      conn.setDoOutput(
          true);
                      osw 
          = new OutputStreamWriter(conn.getOutputStream());
                      fr 
          = new FileReader(f);
                      br 
          = new BufferedReader(fr);
                      
          while((str = br.readLine()) != null) {
                          osw.write(str);
                          osw.write(c);
                      }
                      osw.flush() ;
                      osw.close() ;
                      
                      
          if (conn.getResponseCode() != HttpURLConnection.HTTP_OK)
                          System.out.println( 
          "connect failed!");
                  } 
          catch (IOException e) {
                      e.printStackTrace(System.out);
                  }
                  
          finally
                  {
                      
          if (osw != null)
                          
          try {
                              osw.close() ;
                          } 
          catch (IOException e1) {
                              e1.printStackTrace(System.out);
                          }
                      
                      
          if (conn != null)
                          conn.disconnect() ;
                  }
              }    

              
          public static void main(String[] args) {
                  PostUrl pu 
          = new PostUrl();
                  
          try {
                      pu.sendPost(
          "http://127.0.0.1:8080/testjava/testp.jsp");
                  } 
          catch (Exception e) {
                      e.printStackTrace();
                  }
              }
          }

          2、接收JSP
          <%
               System.err.println(
          "This a struts page.");
               
                   
          //接收上傳的文件內容的臨時文件的文件名
                  String tempFileName=new String("tempFileName1");
                  
          //tempFile1對象指向這個臨時文件
                  File tempFile1=new File("D:/",tempFileName);
                  
          //outputFile1文件輸出流指向這個臨時文件
                  FileOutputStream outputFile1=new FileOutputStream(tempFile1);
                  
          //得到客戶端提交的所有數據
                  InputStream fileSource1=request.getInputStream();
                  
          //將得到的客戶端的數據寫入臨時文件
                  byte b[]=new byte[1000];
                  
          int n;
                  
          while((n=fileSource1.read(b))!=-1)
                      outputFile1.write(b,
          0,n);
                  
          //關閉輸出流和輸入流
                  outputFile1.close();
                  fileSource1.close();
                
               
          %>

          已測試通過

          還可以通HttpClient來發送,請參照:http://www.aygfsteel.com/willpower88/archive/2008/04/14/192679.html
          posted on 2008-04-14 12:00 一凡 閱讀(11161) 評論(1)  編輯  收藏 所屬分類: JAVA 基礎

          評論:
          # re: java發送HTTP GET POST請求 2014-05-05 18:17 | zuidaima
          可以參考代碼:java apache commons HttpClient發送get和post請求的學習整理,下載地址:http://www.zuidaima.com/share/1754065983409152.htm  回復  更多評論
            
          主站蜘蛛池模板: 萨迦县| 泰兴市| 南丰县| 珠海市| 曲阜市| 岑溪市| 乌兰察布市| 三江| 福泉市| 固原市| 浏阳市| 瑞安市| 延长县| 大洼县| 湖口县| 鄂托克旗| 万全县| 哈尔滨市| 潼关县| 财经| 营山县| 哈巴河县| 休宁县| 浦东新区| 饶河县| 嘉祥县| 图片| 广河县| 从江县| 苍溪县| 绍兴县| 申扎县| 威海市| 井陉县| 会同县| 金沙县| 铁岭县| 綦江县| 朔州市| 方城县| 张掖市|