如果需要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请求的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。