Android-HttpsURLConnectionHelp工具类
Java版(HttpURLConnection)Https请求工具类
public class HttpsURLConnectionHelp {
/**
* 加密协议
*/
public static TrustManager truseAllManager = new X509TrustManager() {
public void checkClientTrusted(
java.security.cert.X509Certificate[] arg0, String arg1)
throws CertificateException {
}
public void checkServerTrusted(
java.security.cert.X509Certificate[] arg0, String arg1)
throws CertificateException {
}
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
};
public static String requesByGetToString(String url, String jsessionid) {
String message = null;
try {
HttpsURLConnection conn = getHttpsConnection(url);
conn.setRequestProperty("cookie", jsessionid);
// 请求成功(相应码 == 200)
if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
// 取得该连接的输入流,以读取响应内容
InputStreamReader insr = new InputStreamReader(
conn.getInputStream());
StringBuffer strb = new StringBuffer();
int s;
while ((s = insr.read()) != -1) {
strb.append((char) s);
}
message = strb.toString();
ELog.i("", message);
}
} catch (Exception e) {
e.printStackTrace();
}
return message;
}
public static InputStream requesByGetToStream(String url) {
InputStream inputStream = null;
try {
HttpsURLConnection conn = getHttpsConnection(url);
//自动重定向新地址
conn.setInstanceFollowRedirects(true);
// 请求成功(相应码 == 200)
if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
// 取得该连接的输入流,以读取响应内容
inputStream = conn.getInputStream();
}
} catch (Exception e) {
e.printStackTrace();
}
return inputStream;
}
public static Object[] requesByGetToBitmap(String url) {
Object[] objects = null;
try {
HttpsURLConnection conn = getHttpsConnection(url);
//自动重定向新地址
conn.setInstanceFollowRedirects(true);
// 请求成功(相应码 == 200)
if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
objects = new Object[2];
String cookieval = conn.getHeaderField("set-cookie");
String jsessionid = cookieval.substring(0, cookieval.indexOf(";"));
InputStream is = conn.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(is);
objects[0] = jsessionid;
objects[1] = bitmap;
}
} catch (Exception e) {
e.printStackTrace();
}
return objects;
}
public String requesByGetToParams(String urlStr, Map<String,String> params, String jsessionid){
String responseContent = null;
StringBuilder sb = new StringBuilder(urlStr);
sb.append("?");
for(Map.Entry<String, String> entry:params.entrySet()){
sb.append(entry.getKey());
sb.append("=");
//防止中文乱码
sb.append(entry.getValue());
sb.append("&");
}
sb.deleteCharAt(sb.length() -1);
try {
HttpsURLConnection conn = getHttpsConnection(urlStr);
conn.setRequestProperty("cookie", jsessionid);
//请求成功(相应码 == 200)
if(conn.getResponseCode() == HttpURLConnection.HTTP_OK){
InputStream is = conn.getInputStream();
int s;
StringBuffer strb = new StringBuffer();
while((s = is.read()) != -1){
strb.append((char)s);
}
responseContent = strb.toString();
}
} catch (Exception e) {
e.printStackTrace();
}
return responseContent;
}
public static HttpsURLConnection getHttpsConnection(String urlStr) {
// 从上述SSLContext对象中得到SSLSocketFactory对象
HttpsURLConnection conn = null;
try {
// 创建SSLContext对象,并使用我们指定的信任管理器初始化
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, new TrustManager[] { truseAllManager }, null);
SSLSocketFactory ssf = sslContext.getSocketFactory();
URL myURL = new URL(urlStr);
conn = (HttpsURLConnection) myURL.openConnection();
//设置加密协议
conn.setSSLSocketFactory(ssf);
//设置请求方式
conn.setRequestMethod("GET");
//设置连接超时时长
conn.setConnectTimeout(15000);
conn.setReadTimeout(15000);
conn.setHostnameVerifier(new HostnameVerifier(){
public boolean verify(String hostname, SSLSession session) {
return true;
}});
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
}
Android-HttpsURLConnectionHelp工具类的更多相关文章
- 53. Android常用工具类
主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java.目前包括HttpUtils.DownloadManagerPro.ShellUtils.PackageUtils.Prefer ...
- Android 常见工具类封装
1,MD5工具类: public class MD5Util { public final static String MD5(String s) { char hexDigits[] = { '0' ...
- 【转】Android常用工具类
主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前包括HttpUtils.DownloadManagerPro.ShellUtils.PackageUtils.Prefe ...
- Android基础工具类重构系列一Toast
前言: 一直在考虑写一下Android实际项目中的一些总结,翻看CSDN博客,上一篇已经是一年多曾经. 本系列定位Android基础工具类重构.旨在记录实际项目中经经常使用到的一些工具类,比方Toas ...
- (转载)android 一些工具类汇总
android 一些工具类汇总 作者:曾田生z 字体:[增加 减小] 类型:转载 时间:2016-08-14我要评论 本文给大家汇总介绍了一些常用的Android工具类,非常的简单实用,有需要的小伙伴 ...
- 随笔分类 - Android之工具类
Android之文件搜索工具类 /** * @detail 搜索sdcard文件 * @param 需要进行文件搜索的目录 * @param 过滤搜索文件类型 */ private void sear ...
- Android 系统工具类SystemUtils
包含的功能有: 获取系统中所有APP应用.获取用户安装的APP应用.根据包名和Activity启动类查询应用信息.跳转到WIFI设置.WIFI网络开关.移动网络开关.GPS开关 当前若关则打开 当前若 ...
- Android Sqlite 工具类封装
鉴于经常使用 Sqlite 数据库做数据持久化处理,进行了一点封装,方便使用. 该封装类主要支持一下功能 支持多用户数据储存 支持 Sqlite数据库升级 支持传入 Sql 语句建表 支持 SQLit ...
- Android 常用工具类之SPUtil,可以修改默认sp文件的路径
参考: 1. 利用Java反射机制改变SharedPreferences存储路径 Singleton1900 2. Android快速开发系列 10个常用工具类 Hongyang import ...
- Android常见工具类封装
MD5加密 import android.annotation.SuppressLint; import java.security.MessageDigest; public class MD5 { ...
随机推荐
- 【转】Java常量池详解
今天My partner问我一个让他头疼的Java question,求输出结果: /** * * @author DreamSea 2011-11-19 */ public class Intege ...
- Log4j(1)--hellloworld
创建项目: 使用的是log4j-1.2.17.jar: log4j.properties: log4j.rootLogger=DEBUG, Console ,File #Console log4j.a ...
- 1021 docker常用命令和Jenkins搭建
docker常用命令 1.镜像管理 docker pull (镜像名) # 默认拉取最新版本的镜像 docker pull (镜像名:版本号) #拉取指定版本的镜像 docker push (镜像名) ...
- mkdir 权限值注意要用八进制表示,即“0”开头,而且一定不要加引号http://php.net/manual/en/function.mkdir.php
- Solr Facet 统计查询
一)概述 Facet是solr的高级搜索功能之一,可以给用户提供更友好的搜索体验.在搜索关键字的同时,能够按照Facet的字段进行分组并统计.例如下图所示,你上淘宝,输入“电脑”进行搜索,就会出现品牌 ...
- Redis Windows环境安装
1.下载Windows 版本 Redis: https://github.com/ServiceStack/redis-windows 2. 解压文件: F:\开源代码学习\01_Redis 打开 目 ...
- c++类对象 指针区别
class Test{ public: int a; Test(){ a = ; } }; int main1() { Test* t1 = new Test(); t1->a = ; Test ...
- nodejs-supervisor
小技巧——使用 supervisor 如果你有 PHP 开发经验,会习惯在修改 PHP 脚本后直接刷新浏览器以观察结果,而你在开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪 ...
- 启动JAR Hadoop任务
[启动JAR Hadoop任务] 一般情况下,我们会使用下面的命令来运行一个hadoop任务: 这个命令实际上是转化成下面的命令来运行的 在RunJar中,会读取abc.jar文件,然后尝试从mani ...
- viewer.js--一个强大的jQuery图像查看插件
Viewer 是一款强大的 jQuery 图像浏览插件. 主要功能: 支持选项 支持方法 支持事件 支持触摸 支持移动 支持缩放 支持旋转 支持键盘 跨浏览器支持 查看演示 立即下载 部分插 ...