java发送http和https请求的实例

  

  

如果需要Json格式的自己转下,度娘上N种姿势…

     //处理http请求requestUrl为请求地址requestMethod请求方式,值为“获得”或“后”   requestMethod requestUrl httpRequest公共静态字符串(字符串,字符串,字符串outputStr) {   StringBuffer缓冲=零;   尝试{   网址URL=new URL (requestUrl);   HttpURLConnection康涅狄格州=(HttpURLConnection) url.openConnection ();   conn.setDoOutput(真正的);   conn.setDoInput(真正的);   conn.setRequestMethod (requestMethod);   conn.connect ();//往服务器端写内容也就是发起http请求需要带的参数   如果(零!=outputStr) {   OutputStream os=conn.getOutputStream ();   os.write (outputStr.getBytes (" utf - 8 "));   os.close ();   }//读取服务器端返回的内容   InputStream是=conn.getInputStream ();   InputStreamReader isr=new InputStreamReader (“utf - 8”);   BufferedReader br=new BufferedReader (isr);   缓冲=new StringBuffer ();   字符串行=零;   在((=br.readLine行())!=null) {   buffer.append(线);   }   }捕捉(异常e) {   e.printStackTrace ();   }   返回buffer.toString ();   }      

  

1, https和http的区别我这里就不介绍了,在java中访问https链接的话需要有相应的SSL证书,如果没有就无法访问(使用http访问https会返回403),所以我们要先自定义一个信任管理器。实现java自带的X509TrustManger接口,代码:

        进口java.security.cert.CertificateException;   进口java.security.cert.X509Certificate;   进口javax.net.ssl.X509TrustManager;   公开课MyX509TrustManager X509TrustManager{实现环境下   @Override   公共空间checkClientTrusted (X509Certificate[]链,字符串authType)   抛出CertificateException {//TODO自动生成方法存根   }   @Override   公共空间checkServerTrusted (X509Certificate[]链,字符串authType)   抛出CertificateException {//TODO自动生成方法存根   }   @Override   公共X509Certificate [] getAcceptedIssuers () {//TODO自动生成方法存根   返回null;   }   }      

2,然后我们就可以使用https请求了:

     /*   *处理https GET/POST请求   *请求地址,请求方法,参数   * */requestMethod requestUrl httpsRequest公共静态字符串(字符串,字符串,字符串outputStr) {   StringBuffer缓冲=零;   尝试{//创建SSLContext   SSLContext SSLContext=SSLContext.getInstance (SSL);   TrustManager [] tm={新MyX509TrustManager ()};//初始化   sslContext。init(零、tm、新java.security.SecureRandom ());;//获取SSLSocketFactory对象   SSLSocketFactory社保基金=sslContext.getSocketFactory ();   网址URL=new URL (requestUrl);   HttpsURLConnection康涅狄格州=(HttpsURLConnection) url.openConnection ();   conn.setDoOutput(真正的);   conn.setDoInput(真正的);   conn.setUseCaches(假);   conn.setRequestMethod (requestMethod);//设置当前实例使用的SSLSoctetFactory   conn.setSSLSocketFactory (ssf);   conn.connect ();//往服务器端写内容   如果(零!=outputStr) {   OutputStream os=conn.getOutputStream ();   os.write (outputStr.getBytes (" utf - 8 "));   os.close ();   }//读取服务器端返回的内容   InputStream是=conn.getInputStream ();   InputStreamReader isr=new InputStreamReader (“utf - 8”);   BufferedReader br=new BufferedReader (isr);   缓冲=new StringBuffer ();   字符串行=零;   在((=br.readLine行())!=null) {   buffer.append(线);   }   }捕捉(异常e) {   e.printStackTrace ();   }   返回buffer.toString ();   }      

以上这篇java发送http和https请求的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

java发送http和https请求的实例