談談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”這類情勢發送
以上內容就是本文的全體所述,願望本文引見對年夜家有所贊助。