纯搬运:http://blog.csdn.net/sunny243788557/article/details/7903690
第一种方法,适用于httpclient4.0.3 里边有get和post两种方法供你发送请求使用。导入证书发送请求的在这里就不说了,网上到处都是
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.Socket; import java.net.SocketAddress; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; import java.net.UnknownHostException; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import javax.net.SocketFactory; 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.X509TrustManager; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.ClientConnectionManager; import org.apache.http.conn.ConnectTimeoutException; import org.apache.http.conn.scheme.HostNameResolver; import org.apache.http.conn.scheme.Scheme; import org.apache.http.conn.scheme.SchemeRegistry; import org.apache.http.conn.ssl.SSLSocketFactory; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.HttpConnectionParams; import org.apache.http.protocol.HTTP; import org.apache.http.util.EntityUtils; /* * author:haungxuebin * 云南新接口 * */ public class HttpClientSendPost { private static DefaultHttpClient client; /** * 访问https的网站 * @param httpclient */ private static void enableSSL(DefaultHttpClient httpclient){ //调用ssl try { SSLContext sslcontext = SSLContext.getInstance("TLS"); sslcontext.init(null, new TrustManager[] { truseAllManager }, null); SSLSocketFactory sf = new SSLSocketFactory(sslcontext); sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); Scheme https = new Scheme("https", sf, 443); httpclient.getConnectionManager().getSchemeRegistry().register(https); } catch (Exception e) { e.printStackTrace(); } } /** * 重写验证方法,取消检测ssl */ private static TrustManager truseAllManager = new X509TrustManager(){ public void checkClientTrusted( java.security.cert.X509Certificate[] arg0, String arg1) throws CertificateException { // TODO Auto-generated method stub } public void checkServerTrusted( java.security.cert.X509Certificate[] arg0, String arg1) throws CertificateException { // TODO Auto-generated method stub } public java.security.cert.X509Certificate[] getAcceptedIssuers() { // TODO Auto-generated method stub return null; } }; /** * HTTP Client Object,used HttpClient Class before(version 3.x),but now the * HttpClient is an interface */ public static String sendXMLDataByGet(String url,String xml){ // 创建HttpClient实例 if (client == null) { // Create HttpClient Object client = new DefaultHttpClient(); enableSSL(client); } StringBuilder urlString=new StringBuilder(); urlString.append(url); urlString.append("?"); System.out.println("getUTF8XMLString(xml):"+getUTF8XMLString(xml)); try { urlString.append(URLEncoder.encode( getUTF8XMLString(xml) , "UTF-8" )); } catch (UnsupportedEncodingException e2) { // TODO Auto-generated catch block e2.printStackTrace(); } String urlReq=urlString.toString(); // 创建Get方法实例 HttpGet httpsgets = new HttpGet(urlReq); String strRep=""; try { HttpResponse response = client.execute(httpsgets); HttpEntity entity = response.getEntity(); if (entity != null) { strRep = EntityUtils.toString(response.getEntity()); // Do not need the rest httpsgets.abort(); } } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return strRep; } /** * Send a XML-Formed string to HTTP Server by post method * * @param url * the request URL string * @param xmlData * XML-Formed string ,will not check whether this string is * XML-Formed or not * @return the HTTP response status code ,like 200 represents OK,404 not * found * @throws IOException * @throws ClientProtocolException */ public static String sendXMLDataByPost(String url, String xmlData) throws ClientProtocolException, IOException { if (client == null) { // Create HttpClient Object client = new DefaultHttpClient(); enableSSL(client); } client.getParams().setParameter("http.protocol.content-charset", HTTP.UTF_8); client.getParams().setParameter(HTTP.CONTENT_ENCODING, HTTP.UTF_8); client.getParams().setParameter(HTTP.CHARSET_PARAM, HTTP.UTF_8); client.getParams().setParameter(HTTP.DEFAULT_PROTOCOL_CHARSET, HTTP.UTF_8); // System.out.println(HTTP.UTF_8); // Send data by post method in HTTP protocol,use HttpPost instead of // PostMethod which was occurred in former version // System.out.println(url); HttpPost post = new HttpPost(url); post.getParams().setParameter("http.protocol.content-charset", HTTP.UTF_8); post.getParams().setParameter(HTTP.CONTENT_ENCODING, HTTP.UTF_8); post.getParams().setParameter(HTTP.CHARSET_PARAM, HTTP.UTF_8); post.getParams() .setParameter(HTTP.DEFAULT_PROTOCOL_CHARSET, HTTP.UTF_8); // Construct a string entity StringEntity entity = new StringEntity(getUTF8XMLString(xmlData), "UTF-8"); entity.setContentType("text/xml;charset=UTF-8"); entity.setContentEncoding("UTF-8"); // Set XML entity post.setEntity(entity); // Set content type of request header post.setHeader("Content-Type", "text/xml;charset=UTF-8"); // Execute request and get the response HttpResponse response = client.execute(post); HttpEntity entityRep = response.getEntity(); String strrep=""; if (entityRep != null) { strrep = EntityUtils.toString(response.getEntity()); // Do not need the rest post.abort(); } // Response Header - StatusLine - status code // statusCode = response.getStatusLine().getStatusCode(); return strrep; } /** * Get XML String of utf-8 * * @return XML-Formed string */ public static String getUTF8XMLString(String xml) { // A StringBuffer Object StringBuffer sb = new StringBuffer(); sb.append(xml); String xmString = ""; try { xmString = new String(sb.toString().getBytes("UTF-8")); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } // return to String Formed return xmString.toString(); } }
第二种仿http的不用HttpClient 都是jdk自带的包
package org.sp.sc.util; import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.net.URL; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSession; import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; /** * 无视Https证书是否正确的Java Http Client * * * @author huangxuebin * * @create 2012.8.17 * @version 1.0 */ public class HttpsUtil { /** * 忽视证书HostName */ private static HostnameVerifier ignoreHostnameVerifier = new HostnameVerifier() { public boolean verify(String s, SSLSession sslsession) { System.out.println("WARNING: Hostname is not matched for cert."); return true; } }; /** * Ignore Certification */ private static TrustManager ignoreCertificationTrustManger = new X509TrustManager() { private X509Certificate[] certificates; @Override public void checkClientTrusted(X509Certificate certificates[], String authType) throws CertificateException { if (this.certificates == null) { this.certificates = certificates; System.out.println("init at checkClientTrusted"); } } @Override public void checkServerTrusted(X509Certificate[] ax509certificate, String s) throws CertificateException { if (this.certificates == null) { this.certificates = ax509certificate; System.out.println("init at checkServerTrusted"); } // for (int c = 0; c < certificates.length; c++) { // X509Certificate cert = certificates[c]; // System.out.println(" Server certificate " + (c + 1) + ":"); // System.out.println(" Subject DN: " + cert.getSubjectDN()); // System.out.println(" Signature Algorithm: " // + cert.getSigAlgName()); // System.out.println(" Valid from: " + cert.getNotBefore()); // System.out.println(" Valid until: " + cert.getNotAfter()); // System.out.println(" Issuer: " + cert.getIssuerDN()); // } } @Override public X509Certificate[] getAcceptedIssuers() { // TODO Auto-generated method stub return null; } }; public static String getMethod(String urlString) { ByteArrayOutputStream buffer = new ByteArrayOutputStream(512); try { URL url = new URL(urlString); /* * use ignore host name verifier */ HttpsURLConnection.setDefaultHostnameVerifier(ignoreHostnameVerifier); HttpsURLConnection connection = (HttpsURLConnection) url.openConnection(); // Prepare SSL Context TrustManager[] tm = { ignoreCertificationTrustManger }; SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE"); sslContext.init(null, tm, new java.security.SecureRandom()); // 从上述SSLContext对象中得到SSLSocketFactory对象 SSLSocketFactory ssf = sslContext.getSocketFactory(); connection.setSSLSocketFactory(ssf); InputStream reader = connection.getInputStream(); byte[] bytes = new byte[512]; int length = reader.read(bytes); do { buffer.write(bytes, 0, length); length = reader.read(bytes); } while (length > 0); // result.setResponseData(bytes); System.out.println(buffer.toString()); reader.close(); connection.disconnect(); } catch (Exception ex) { ex.printStackTrace(); } finally { } String repString= new String (buffer.toByteArray()); return repString; } // public static void main(String[] args) { // String urlString = "https://218.202.0.241:8081/XMLReceiver"; // String output = new String(HttpsUtil.getMethod(urlString)); // System.out.println(output); // } }
相关推荐
机械搬运吊装安全培训材料.pptx
搬运工安全操作规程正式样本.pdf
装卸搬运工安全作业规程精选.doc
最新百家号暴力搬运掘金新玩法,纯搬运,ai二创,简单好上手,每天一小时日入500-1000【揭秘】 项目介绍: 用到百度旗下的百家号,发布文章以及视频,通过获取官方流量,在阅读量以及完读率当中获取收益,我们主要...
《气瓶搬运、装卸、储存和使用安全规定》GBT 34525-2017参照.docx
多多视频带货,纯搬运搞佣金,小白也能操作【揭秘】
针对智能制造对于搬运机器人的大量需求,开发了基于MOTOMAN-UP6六自由度通用机械臂的搬运机器人,并对机器人的控制方法进行研究。独立开发了双输出轴蜗轮蜗杆...搬运箱体的实验验证了搬运机器人系统及控制方法的可行性。
Google人机验证插件及其配置文件(搬运
为提高煤矿液压支架搬运效率,降低搬运成本,分析了我国目前支架...实际应用表明,研究提出的搬运方式使用设备单一,转运环节简单,参与人数较少,可避免安全隐患,提高支架搬运效率,缩短综采工作面的搬家倒面周期。
康佳电子厂仓库安全管理制度,消防、搬运、仓储安全管理.doc
搬运机器人介绍.ppt该文档详细且完整,值得借鉴下载使用,欢迎下载使用,有问题可以第一时间联系作者~
搬运机器人设计.pdf
吊装、搬运安全交底.docx
仓库作业安全规程,仓库消防、物料安全、搬运装卸标准.doc
1.搬运技巧:搬运工需要具备良好的搬运技巧,以便能够快速、安全地搬运物品。 2.时间管理:搬运工需要具备良好的时间管理技能,以便能够按照任务次序和标准恳求的要求来搬运物品。 3.团队协作:搬运工需要具备良好的...
FANUC机器人程序实例工件搬运.pdfFANUC机器人程序实例工件搬运.pdfFANUC机器人程序实例工件搬运.pdfFANUC机器人程序实例工件搬运.pdfFANUC机器人程序实例工件搬运.pdfFANUC机器人程序实例工件搬运.pdfFANUC机器人...
文章根据不同煤矿井下巷道需求,设计了履带式支架搬运车,解决...文章对支架搬运车行走机构的组成及工作原理进行了阐述,并对行走机构进行了受力分析,并验证了支架搬运车的行走能力,为进一步设计及发动机选型提供了参考。
为了实现在危险环境下的物品搬运与提高运输效率,设计了一款搬运机器人,能实现在视频窗口下远程遥控机器人搬运有底座物品,与在布线的模拟仓库中以循迹的方式搬运物品,并能对搬运物品通过数据库进行物流管理。...
装卸搬运工安全操作规程.pdf
气瓶装卸搬运作业风险告知牌 气瓶装卸搬运作业风险告知...在气瓶装卸搬运作业中,应严格遵守相关规定和操作规程,采取防护措施,进行安全培训和指导,确保装卸人员具备足够的安全知识和技能,以避免各种风险点的出现。