最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java 發(fā)送http和https請(qǐng)求的實(shí)例

 更新時(shí)間:2018年01月08日 14:49:54   作者:一包大豫竹  
下面小編就為大家分享一篇java 發(fā)送http和https請(qǐng)求的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

HTTP請(qǐng)求:

如果需要Json格式的自己轉(zhuǎn)下,度娘上N種姿勢(shì)…

//處理http請(qǐng)求 requestUrl為請(qǐng)求地址 requestMethod請(qǐng)求方式,值為"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(); 
    //往服務(wù)器端寫內(nèi)容 也就是發(fā)起http請(qǐng)求需要帶的參數(shù) 
    if(null!=outputStr){ 
      OutputStream os=conn.getOutputStream(); 
      os.write(outputStr.getBytes("utf-8")); 
      os.close(); 
    } 
    //讀取服務(wù)器端返回的內(nèi)容 
    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請(qǐng)求:

1、https和http的區(qū)別我這里就不介紹了,在java 中訪問https鏈接的話需要有相應(yīng)的SSL證書,如果沒有就無法訪問(使用http訪問https會(huì)返回403),所以我們要先自定義一個(gè)信任管理器。實(shí)現(xiàn)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請(qǐng)求了:

/* 
 * 處理https GET/POST請(qǐng)求 
 * 請(qǐng)求地址、請(qǐng)求方法、參數(shù) 
 * */ 
public static String httpsRequest(String requestUrl,String requestMethod,String outputStr){ 
  StringBuffer buffer=null; 
  try{ 
  //創(chuàng)建SSLContext 
  SSLContext sslContext=SSLContext.getInstance("SSL"); 
  TrustManager[] tm={new MyX509TrustManager()}; 
  //初始化 
  sslContext.init(null, tm, new java.security.SecureRandom());; 
  //獲取SSLSocketFactory對(duì)象 
  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); 
  //設(shè)置當(dāng)前實(shí)例使用的SSLSoctetFactory 
  conn.setSSLSocketFactory(ssf); 
  conn.connect(); 
  //往服務(wù)器端寫內(nèi)容 
  if(null!=outputStr){ 
    OutputStream os=conn.getOutputStream(); 
    os.write(outputStr.getBytes("utf-8")); 
    os.close(); 
  } 
  //讀取服務(wù)器端返回的內(nèi)容 
  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 發(fā)送http和https請(qǐng)求的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • ReentrantLock 非公平鎖實(shí)現(xiàn)原理詳解

    ReentrantLock 非公平鎖實(shí)現(xiàn)原理詳解

    這篇文章主要為大家介紹了ReentrantLock 非公平鎖實(shí)現(xiàn)原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • SpringBoot實(shí)現(xiàn)發(fā)送QQ郵件的示例代碼

    SpringBoot實(shí)現(xiàn)發(fā)送QQ郵件的示例代碼

    這篇文章主要介紹了SpringBoot如何實(shí)現(xiàn)發(fā)送QQ郵件功能,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09
  • Java中對(duì)象的銷毀方法分析

    Java中對(duì)象的銷毀方法分析

    這篇文章主要介紹了Java中對(duì)象的銷毀方法,較為詳細(xì)的分析了對(duì)象的功能、用法及銷毀對(duì)象對(duì)于程序運(yùn)行的益處,需要的朋友可以參考下
    2015-04-04
  • Jmeter配置代理實(shí)現(xiàn)錄制過程圖解

    Jmeter配置代理實(shí)現(xiàn)錄制過程圖解

    這篇文章主要介紹了Jmeter配置代理實(shí)現(xiàn)錄制過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • java struts2學(xué)習(xí)筆記之線程安全

    java struts2學(xué)習(xí)筆記之線程安全

    這篇文章主要為大家詳細(xì)介紹了java struts2學(xué)習(xí)筆記之線程安全,感興趣的朋友可以參考一下
    2016-04-04
  • Springboot詳解RocketMQ實(shí)現(xiàn)廣播消息流程

    Springboot詳解RocketMQ實(shí)現(xiàn)廣播消息流程

    RocketMQ作為一款純java、分布式、隊(duì)列模型的開源消息中間件,支持事務(wù)消息、順序消息、批量消息、定時(shí)消息、消息回溯等,本篇我們了解如何實(shí)現(xiàn)廣播消息
    2022-06-06
  • Java靜態(tài)方法不具有多態(tài)性詳解

    Java靜態(tài)方法不具有多態(tài)性詳解

    下面小編就為大家?guī)硪黄狫ava靜態(tài)方法不具有多態(tài)性詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • Java中Lambda表達(dá)式使用詳細(xì)解讀

    Java中Lambda表達(dá)式使用詳細(xì)解讀

    這篇文章主要介紹了Java中Lambda表達(dá)式使用及詳解,lambda運(yùn)行將函數(shù)作為一個(gè)方法的參數(shù),也就是函數(shù)作為參數(shù)傳遞到方法中,使用lambda表達(dá)式可以讓代碼更加簡潔,需要的朋友可以參考下
    2023-04-04
  • 詳解如何在spring boot中使用spring security防止CSRF攻擊

    詳解如何在spring boot中使用spring security防止CSRF攻擊

    這篇文章主要介紹了詳解如何在spring boot中使用spring security防止CSRF攻擊,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • Spring Data + Thymeleaf 3 + Bootstrap 4 實(shí)現(xiàn)分頁器實(shí)例代碼

    Spring Data + Thymeleaf 3 + Bo

    本篇文章主要介紹了Spring Data + Thymeleaf 3 + Bootstrap 4 實(shí)現(xiàn)分頁器實(shí)例代碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-05-05

最新評(píng)論

宁都县| 永安市| 固安县| 万安县| 米泉市| 新巴尔虎左旗| 清原| 宿松县| 聊城市| 麻城市| 盐亭县| 留坝县| 渭南市| 望都县| 交口县| 阜阳市| 巴林右旗| 闽清县| 黑龙江省| 奈曼旗| 沙湾县| 南充市| 汝城县| 桦川县| 肃南| 色达县| 新龙县| 卢氏县| 隆尧县| 会东县| 盖州市| 民乐县| 新化县| 安丘市| 萨迦县| 新郑市| 郓城县| 封开县| 措勤县| 中超| 枣庄市|