程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 談談Java應用原始HttpURLConnection發送POST數據

談談Java應用原始HttpURLConnection發送POST數據

編輯:關於JAVA

談談Java應用原始HttpURLConnection發送POST數據。本站提示廣大學習愛好者:(談談Java應用原始HttpURLConnection發送POST數據)文章只能為提供參考,不一定能成為您想要的結果。以下是談談Java應用原始HttpURLConnection發送POST數據正文


URLConnection是個籠統類,它有兩個直接子類分離是HttpURLConnection和JarURLConnection。別的一個主要的類是URL,平日URL可以經由過程傳給結構器一個String類型的參數來生成一個指向特定地址的URL實例。

每一個 HttpURLConnection 實例都可用於生成單個要求,然則其他實例可以通明地同享銜接到 HTTP 辦事器的基本收集。要求後在 HttpURLConnection 的 InputStream 或 OutputStream 上挪用 close() 辦法可以釋放與此實例聯系關系的收集資本,但對同享的耐久銜接沒有任何影響。假如在挪用 disconnect() 時耐久銜接余暇,則能夠封閉基本套接字。

package com.newflypig.demo;
/**
 * 應用jdk自帶的HttpURLConnection向URL發送POST要求並輸入呼應成果
 * 參數應用傳播遞,而且硬編碼為字符串"name=XXX"的格局
 */
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class SendPostDemo {
  public static void main(String[] args) throws Exception{
    String urlPath = new String("http://localhost:8080/Test1/HelloWorld"); 
    //String urlPath = new String("http://localhost:8080/Test1/HelloWorld?name=丁丁".getBytes("UTF-8"));
    String param="name="+URLEncoder.encode("丁丁","UTF-8");
    //樹立銜接
    URL url=new URL(urlPath);
    HttpURLConnection httpConn=(HttpURLConnection)url.openConnection();
    //設置參數
    httpConn.setDoOutput(true);   //須要輸入
    httpConn.setDoInput(true);   //須要輸出
    httpConn.setUseCaches(false);  //不許可緩存
    httpConn.setRequestMethod("POST");   //設置POST方法銜接
    //設置要求屬性
    httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
    httpConn.setRequestProperty("Connection", "Keep-Alive");// 保持長銜接
    httpConn.setRequestProperty("Charset", "UTF-8");
    //銜接,也能夠不消明文connect,應用上面的httpConn.getOutputStream()會主動connect
    httpConn.connect();
    //樹立輸出流,向指向的URL傳入參數
    DataOutputStream dos=new DataOutputStream(httpConn.getOutputStream());
    dos.writeBytes(param);
    dos.flush();
    dos.close();
    //取得呼應狀況
    int resultCode=httpConn.getResponseCode();
    if(HttpURLConnection.HTTP_OK==resultCode){
      StringBuffer sb=new StringBuffer();
      String readLine=new String();
      BufferedReader responseReader=new BufferedReader(new InputStreamReader(httpConn.getInputStream(),"UTF-8"));
      while((readLine=responseReader.readLine())!=null){
        sb.append(readLine).append("\n");
      }
      responseReader.close();
      System.out.println(sb.toString());
    } 
  }
}

JAVA應用HttpURLConnection發送POST數據是依附OutputStream流的情勢發送

詳細編碼進程中,參數是以字符串“name=XXX”這類情勢發送

以上內容就是本文的全體所述,願望本文引見對年夜家有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved