位置: 编程技术 - 正文
推荐整理分享Https联网工具类,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
Https联网工具类 get post
调用时 只需传入url,和要提交的参数queryString 有cookie时也可以传入
放回的是字符串 连接方式我在Http里解决了你们只需要拼接对
拼接式 路径: 参数:loginInit=loginInit&knowChannel=APP_LCK_ADR_KC
import java.io.ByteArrayOutputStream;
import java.io.InputStream;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.URL;import java.security.cert.CertificateException;import java.security.cert.XCertificate;import javax.net.ssl.HostnameVerifier;import javax.net.ssl.HttpsURLConnection;import javax.net.ssl.SSLContext;import javax.net.ssl.SSLSession;import javax.net.ssl.TrustManager;import javax.net.ssl.XTrustManager;import android.util.Log;public class HttpService { /** 连接或读取超时单位毫秒 */ private static final int CONNECTION_TIMEOUT = ;// protected static String httpGet(String url, String queryString, String cookie) throws Exception { if (isNullEmptyBlank(url)) { return "url不能为空"; } if (!isNullEmptyBlank(queryString)) { url = ("?" queryString); } URL urlPath = null; HttpURLConnection conn = null; InputStream is = null; try { urlPath = new URL(url); i("httpGet", "urlPath>>>>>" urlPath); conn = (HttpURLConnection) urlPath.openConnection(); conn.setDoInput(true); conn.setUseCaches(false); conn.setInstanceFollowRedirects(true); // 设置连接主机超时(单位:毫秒) conn.setConnectTimeout(CONNECTION_TIMEOUT); // 设置从主机读取数据超时(单位:毫秒) conn.setReadTimeout(CONNECTION_TIMEOUT); conn.setRequestProperty("Accept", "*/*"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setRequestMethod("GET"); if (!isNullEmptyBlank(cookie)) { conn.setRequestProperty("Cookie", cookie); i("httpGet", "cookie>>>>>" cookie); } if (HttpURLConnection.HTTP_OK == conn.getResponseCode()) { is = conn.getInputStream(); String str = readData(is, "UTF-8"); e("httpGet", "str>>>>>" str); return str; } } catch (Exception e) { throw new Exception(e.getMessage()); } finally { try { if (is != null) is.close(); if (conn != null) conn.disconnect(); } catch (Exception e) { } finally { is = null; conn = null; } } return null; } protected static String httpsPost(String url, String queryString, String cookie) throws Exception { if (isNullEmptyBlank(url)) { return "url不能为空"; } URL urlPath = null; HttpsURLConnection conn = null; OutputStream os = null; InputStream is = null; try { SSLContext sslContext = SSLContext.getInstance("TLS"); sslContext.init(null, new TrustManager[] { new MyXTrustManager() }, new java.security.SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sslContext .getSocketFactory()); HttpsURLConnection .setDefaultHostnameVerifier(new MyHostnameVerifier()); urlPath = new URL(url); conn = (HttpsURLConnection) urlPath.openConnection(); conn.setDoOutput(true); conn.setDoInput(true); conn.setUseCaches(false); conn.setInstanceFollowRedirects(true); // 设置连接主机超时(单位:毫秒) conn.setConnectTimeout(CONNECTION_TIMEOUT); // 设置从主机读取数据超时(单位:毫秒) conn.setReadTimeout(CONNECTION_TIMEOUT); conn.setRequestProperty("Accept", "*/*"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setRequestMethod("POST"); if (!isNullEmptyBlank(cookie)) { conn.setRequestProperty("Cookie", cookie); i("httpsPost", "cookie>>>>>" cookie); } if (!isNullEmptyBlank(queryString)) { os = conn.getOutputStream(); os.write(queryString.getBytes("UTF-8")); os.flush(); i("httpsPost", url queryString); } if (HttpURLConnection.HTTP_OK == conn.getResponseCode()) { is = conn.getInputStream(); String str = readData(is, "UTF-8"); e("httpsPost", "str>>>>>" str); return str; } } catch (Exception e) { throw new Exception(e.getMessage()); } finally { try { if (os != null) os.close(); if (is != null) is.close(); if (conn != null) conn.disconnect(); } catch (Exception e) { e.printStackTrace(); } finally { os = null; is = null; conn = null; } } return null; } protected static String httpPost(String url, String queryString) throws Exception { if (isNullEmptyBlank(url)) { return "url不能为空"; } URL urlPath = null; HttpURLConnection conn = null; OutputStream os = null; InputStream is = null; try { urlPath = new URL(url); conn = (HttpURLConnection) urlPath.openConnection(); conn.setDoOutput(true); conn.setDoInput(true); conn.setUseCaches(false); conn.setInstanceFollowRedirects(true); // 设置连接主机超时(单位:毫秒) conn.setConnectTimeout(CONNECTION_TIMEOUT); // 设置从主机读取数据超时(单位:毫秒) conn.setReadTimeout(CONNECTION_TIMEOUT); conn.setRequestProperty("Accept", "*/*"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setRequestMethod("POST"); if (!isNullEmptyBlank(queryString)) { os = conn.getOutputStream(); os.write(queryString.getBytes("UTF-8")); os.flush(); i("httpPost", url "?" queryString); } if (HttpURLConnection.HTTP_OK == conn.getResponseCode()) { is = conn.getInputStream(); String str = readData(is, "UTF-8"); e("httpPost", "str>>>>>" str); } } catch (Exception e) { throw new Exception(e.getMessage()); } finally { try { if (os != null) os.close(); if (is != null) is.close(); if (conn != null) conn.disconnect(); } catch (Exception e) { e.printStackTrace(); } finally { os = null; is = null; conn = null; } } return null; } private static String readData(InputStream inSream, String charsetName) throws Exception { ByteArrayOutputStream outStream = new ByteArrayOutputStream(); byte[] buffer = new byte[]; int len = -1; while ((len = inSream.read(buffer)) != -1) { outStream.write(buffer, 0, len); } byte[] data = outStream.toByteArray(); outStream.close(); inSream.close(); return new String(data, charsetName); } private static class MyHostnameVerifier implements HostnameVerifier { public boolean verify(String hostname, SSLSession session) { return true; } } private static class MyXTrustManager implements XTrustManager { public XCertificate[] getAcceptedIssuers() { return null; } public void checkServerTrusted(XCertificate[] chain, String authType) throws CertificateException { } public void checkClientTrusted(XCertificate[] chain, String authType) throws CertificateException { } }; private static void i(String tag, String msg) { if (tag == null || msg == null) { return; } Log.i(tag, msg); } private static void e(String tag, String msg) { if (tag == null || msg == null) { return; } Log.e(tag, msg); } /** * 判断字符串是否为空(包含null与""," ") * * @param str * @return */ private static boolean isNullEmptyBlank(String str) { if (str == null || "".equals(str) || "".equals(str.trim())) return true; return false; }}如何检查 Android 应用的内存使用情况 Android是为移动设备而设计的,所以应该关注应用的内存使用情况。尽管Android的Dalvik虚拟机会定期执行垃圾回收操作,但这也不意味着就可以忽视应用在
Android自动开关机实现详细教程 --------------------
Android实战--解析稍复杂JSON数据DEMO 废话不多说,直接上代码,布局文件:?xmlversion=1.0encoding=utf-8?LinearLayoutxmlns:android=
标签: Https联网工具类
本文链接地址:https://www.jiuchutong.com/biancheng/374499.html 转载请保留说明!友情链接: 武汉网站建设