隨筆-204  評(píng)論-90  文章-8  trackbacks-0
          1、發(fā)送源碼
          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;



          /**
           * 通過(guò)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";

              

              
          /**
               * 通過(guò)HTTP協(xié)議以POST形式發(fā)送指定文件至指定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、接收J(rèn)SP
          <%
               System.err.println(
          "This a struts page.");
               
                   
          //接收上傳的文件內(nèi)容的臨時(shí)文件的文件名
                  String tempFileName=new String("tempFileName1");
                  
          //tempFile1對(duì)象指向這個(gè)臨時(shí)文件
                  File tempFile1=new File("D:/",tempFileName);
                  
          //outputFile1文件輸出流指向這個(gè)臨時(shí)文件
                  FileOutputStream outputFile1=new FileOutputStream(tempFile1);
                  
          //得到客戶(hù)端提交的所有數(shù)據(jù)
                  InputStream fileSource1=request.getInputStream();
                  
          //將得到的客戶(hù)端的數(shù)據(jù)寫(xiě)入臨時(shí)文件
                  byte b[]=new byte[1000];
                  
          int n;
                  
          while((n=fileSource1.read(b))!=-1)
                      outputFile1.write(b,
          0,n);
                  
          //關(guān)閉輸出流和輸入流
                  outputFile1.close();
                  fileSource1.close();
                
               
          %>

          已測(cè)試通過(guò)

          還可以通HttpClient來(lái)發(fā)送,請(qǐng)參照:http://www.aygfsteel.com/willpower88/archive/2008/04/14/192679.html
          posted on 2008-04-14 12:00 一凡 閱讀(11156) 評(píng)論(1)  編輯  收藏 所屬分類(lèi): JAVA 基礎(chǔ)

          評(píng)論:
          # re: java發(fā)送HTTP GET POST請(qǐng)求 2014-05-05 18:17 | zuidaima
          可以參考代碼:java apache commons HttpClient發(fā)送get和post請(qǐng)求的學(xué)習(xí)整理,下載地址:http://www.zuidaima.com/share/1754065983409152.htm  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 兴化市| 西城区| 常熟市| 靖远县| 河间市| 麦盖提县| 东辽县| 泌阳县| 平乐县| 西藏| 桦甸市| 九江县| 普陀区| 固镇县| 武义县| 鹤岗市| 新巴尔虎左旗| 高青县| 绥棱县| 湟源县| 那坡县| 泗阳县| 石林| 广宁县| 彩票| 天门市| 和顺县| 邛崃市| 曲麻莱县| 进贤县| 云浮市| 体育| 沽源县| 博白县| 德令哈市| 鄯善县| 麦盖提县| 太原市| 辽源市| 翼城县| 屏东县|