java 发送http和https请求
来源:互联网 发布:mac电脑重新安装系统 编辑:程序博客网 时间:2024/05/22 13:51
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(); }
参考自 http://blog.csdn.net/guozili1/article/details/53995121
阅读全文
0 0
- java发送HTTP和HTTPS请求
- java 发送http和https请求
- JAVA发送http、https请求
- java发送http和https请求(忽略证书)
- java 发送http与https请求
- java http请求和https请求
- 发送HTTP和HTTPS(单向验证)请求(包含POST请求)
- java 发送 https请求
- java发送https请求
- java 发送HTTPS请求
- Java---发送HTTPS请求
- ruby发送http,https请求
- HttpClient 发送 HTTP、HTTPS 请求
- HttpClient学习笔记 --发送Http和Https请求
- java发送http get 和 post 请求
- java发送https的请求
- java HttpsURLConnection发送https请求
- 发送Https请求(Java)
- C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法
- 通过XPath查询XML中的数据
- 遍历二叉树
- 设计模式(五)——工厂方法模式
- 链表翻转 快速排序
- java 发送http和https请求
- PHP动态添加XML中的数据
- PHP动态删除XML数据
- XMLHttpRequest对象读取HTML文件
- 语言开发必备:PHP如何防止XSS攻击
- Ajax通过GET方式与PHP进行交互
- Android中传值的几种方法
- 高性能服务器编程-I/O复用
- Ajax通过POST方式与PHP进行交互