您好,登錄后才能下訂單哦!
這篇文章主要介紹Java中Https發(fā)送POST請求的方法,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
1. 簡單,只需理解基本的概念,就可以編寫適合于各種情況的應(yīng)用程序;2. 面向?qū)ο螅?. 分布性,Java是面向網(wǎng)絡(luò)的語言;4. 魯棒性,java提供自動垃圾收集來進行內(nèi)存管理,防止程序員在管理內(nèi)存時容易產(chǎn)生的錯誤。;5. 安全性,用于網(wǎng)絡(luò)、分布環(huán)境下的Java必須防止病毒的入侵。6. 體系結(jié)構(gòu)中立,只要安裝了Java運行時系統(tǒng),就可在任意處理器上運行。7. 可移植性,Java可以方便地移植到網(wǎng)絡(luò)上的不同機器。8.解釋執(zhí)行,Java解釋器直接對Java字節(jié)碼進行解釋執(zhí)行。
1、直接建一個工具類放入即可
/** * 發(fā)送https請求共用體 */ public static JSONObject sendPost(String url,String parame,Map<String,Object> pmap) throws IOException, KeyManagementException, NoSuchAlgorithmException, NoSuchProviderException{ // 請求結(jié)果 JSONObject json = new JSONObject(); PrintWriter out = null; BufferedReader in = null; String result = ""; URL realUrl; HttpsURLConnection conn; String method = "POST"; //查詢地址 String queryString = url; //請求參數(shù)獲取 String postpar = ""; //字符串請求參數(shù) if(parame!=null){ postpar = parame; } // map格式的請求參數(shù) if(pmap!=null){ StringBuffer mstr = new StringBuffer(); for(String str:pmap.keySet()){ String val = (String) pmap.get(str); try { val=URLEncoder.encode(val,"UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } mstr.append(str+"="+val+"&"); } // 最終參數(shù) postpar = mstr.toString(); int lasts=postpar.lastIndexOf("&"); postpar=postpar.substring(0, lasts); } if(method.toUpperCase().equals("GET")){ queryString+="?"+postpar; } SSLSocketFactory ssf= HttpsClientUtils.getSSFactory(); try { realUrl= new URL(queryString); conn = (HttpsURLConnection)realUrl.openConnection(); conn.setSSLSocketFactory(ssf); conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded"); conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); if(method.toUpperCase().equals("POST")){ conn.setDoOutput(true); conn.setDoInput(true); conn.setUseCaches(false); out = new PrintWriter(conn.getOutputStream()); out.print(postpar); out.flush(); }else{ conn.connect(); } in = new BufferedReader( new InputStreamReader(conn.getInputStream(),"utf-8")); String line; while ((line = in.readLine()) != null) { result += line; } json = JSONObject.fromObject(result); }finally { try { if (out != null) { out.close(); } if (in != null) { in.close(); } } catch (IOException ex) { ex.printStackTrace(); } } return json; }
2、可能需要的包
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.net.URI; import java.net.URL; import java.net.URLEncoder; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Random; import java.util.Set; import java.util.TreeMap; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLSocketFactory; import net.sf.json.JSONObject; import org.apache.commons.codec.digest.DigestUtils; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.utils.URIBuilder; import org.apache.http.entity.ContentType; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils;
以上是“Java中Https發(fā)送POST請求的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。