国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

java 發送http和https請求的實例

2024-07-13 10:16:11
字體:
來源:轉載
供稿:網友

HTTP請求:

如果需要Json格式的自己轉下,度娘上N種姿勢…

//處理http請求 requestUrl為請求地址 requestMethod請求方式,值為"GET"或"POST"   public static String httpRequest(String requestUrl,String requestMethod,String outputStr){     StringBuffer buffer=null;     try{     URL url=new URL(requestUrl);     HttpURLConnection conn=(HttpURLConnection)url.openConnection();     conn.setDoOutput(true);     conn.setDoInput(true);     conn.setRequestMethod(requestMethod);     conn.connect();     //往服務器端寫內容 也就是發起http請求需要帶的參數     if(null!=outputStr){       OutputStream os=conn.getOutputStream();       os.write(outputStr.getBytes("utf-8"));       os.close();     }     //讀取服務器端返回的內容     InputStream is=conn.getInputStream();     InputStreamReader isr=new InputStreamReader(is,"utf-8");     BufferedReader br=new BufferedReader(isr);     buffer=new StringBuffer();     String line=null;     while((line=br.readLine())!=null){       buffer.append(line);     }     }catch(Exception e){       e.printStackTrace();     }     return buffer.toString();   } 

HTTPS請求:

1、https和http的區別我這里就不介紹了,在java 中訪問https鏈接的話需要有相應的SSL證書,如果沒有就無法訪問(使用http訪問https會返回403),所以我們要先自定義一個信任管理器。實現java自帶的X509TrustManger接口,代碼:

import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import javax.net.ssl.X509TrustManager; public class MyX509TrustManager implements X509TrustManager {   @Override   public void checkClientTrusted(X509Certificate[] chain, String authType)       throws CertificateException {     // TODO Auto-generated method stub   }   @Override   public void checkServerTrusted(X509Certificate[] chain, String authType)       throws CertificateException {     // TODO Auto-generated method stub   }   @Override   public X509Certificate[] getAcceptedIssuers() {     // TODO Auto-generated method stub     return null;   } } 

2、然后我們就可以使用https請求了:

/*  * 處理https GET/POST請求  * 請求地址、請求方法、參數  * */ public static String httpsRequest(String requestUrl,String requestMethod,String outputStr){   StringBuffer buffer=null;   try{   //創建SSLContext   SSLContext sslContext=SSLContext.getInstance("SSL");   TrustManager[] tm={new MyX509TrustManager()};   //初始化   sslContext.init(null, tm, new java.security.SecureRandom());;   //獲取SSLSocketFactory對象   SSLSocketFactory ssf=sslContext.getSocketFactory();   URL url=new URL(requestUrl);   HttpsURLConnection conn=(HttpsURLConnection)url.openConnection();   conn.setDoOutput(true);   conn.setDoInput(true);   conn.setUseCaches(false);   conn.setRequestMethod(requestMethod);   //設置當前實例使用的SSLSoctetFactory   conn.setSSLSocketFactory(ssf);   conn.connect();   //往服務器端寫內容   if(null!=outputStr){     OutputStream os=conn.getOutputStream();     os.write(outputStr.getBytes("utf-8"));     os.close();   }   //讀取服務器端返回的內容   InputStream is=conn.getInputStream();   InputStreamReader isr=new InputStreamReader(is,"utf-8");   BufferedReader br=new BufferedReader(isr);   buffer=new StringBuffer();   String line=null;   while((line=br.readLine())!=null){     buffer.append(line);   }   }catch(Exception e){     e.printStackTrace();   }   return buffer.toString(); } 

以上這篇java 發送http和https請求的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桑日县| 秭归县| 兴义市| 高邮市| 磐石市| 南昌县| 孟津县| 莱芜市| 炉霍县| 介休市| 南江县| 林芝县| 花莲县| 尚义县| 微山县| 上犹县| 怀宁县| 正阳县| 南岸区| 浦县| 霍邱县| 鸡西市| 高雄县| 柳江县| 海伦市| 株洲市| 巴林左旗| 尼玛县| 盐城市| 卢龙县| 巨野县| 天峨县| 蒲江县| 海南省| 兴国县| 万荣县| 辛集市| 新龙县| 堆龙德庆县| 石景山区| 灵宝市|