java服务器post 详解java中通过post方式访问后台服务器

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

java服务器post 详解java中通过post方式访问后台服务器

少壮不努力-老大敲代码   2021-03-24 我要评论
想了解详解java中通过post方式访问后台服务器的相关内容吗,少壮不努力-老大敲代码在本文为您仔细讲解java服务器post的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:java服务器post,java,post请求服务器,java访问服务器文件,下面大家一起来学习吧。

最近在学习java中通过post方式访问后台服务器,那么今天也算个学习笔记吧!

首先,上代码:

Runnable payRunnable = new Runnable()  
      { 
        @Override 
        public void run()  
        { 
          try 
          {   
            HashMap<String, String> payParamMap = new HashMap<String, String>(); 
            payParamMap.put("canshu" ,"woshicanshu" ); 
            String payParamStr = XmlUtils.toXml(payParamMap);//转换成xml格式 
             
            String resultStr = Utils.httpPost(UrlString, payParamStr);//调用访问函数 
             
            //<span style="font-family: Arial, Helvetica, sans-serif;">resultStr 就是访问所得到的返回值 </span> 
          } 
          catch(Exception e) 
          { 
            e.printStackTrace(); 
          } 
        } 
      }; 
      // 必须异步调用 
      Thread payThread = new Thread(payRunnable); 
      payThread.start(); 

其次,上代码:

public class Utils { 
  private static final String TAG = "woshiTag"; 
 
  public static String httpPost(String url, String entity) { 
    if (url == null || url.length() == 0) { 
      Log.e(TAG, "httpPost, url is null"); 
      return null; 
    } 
     
    HttpClient httpClient = getNewHttpClient(); 
     
    HttpPost httpPost = new HttpPost(url); 
     
    try { 
      httpPost.setEntity(new StringEntity(entity, HTTP.UTF_8)); 
      httpPost.setHeader("Accept", "application/json"); 
      httpPost.setHeader("Content-type", "application/json"); 
       
      HttpResponse resp = httpClient.execute(httpPost); 
      if (resp.getStatusLine().getStatusCode() != HttpStatus.SC_OK) { 
        Log.e(TAG, "httpGet fail, status code = " + resp.getStatusLine().getStatusCode()); 
        return null; 
      } 
 
      return new String(EntityUtils.toByteArray(resp.getEntity())); 
    } catch (Exception e) { 
      Log.e(TAG, "httpPost exception, e = " + e.getMessage()); 
      e.printStackTrace(); 
      return null; 
    } 
  } 
  private static HttpClient getNewHttpClient() {  
      try {  
        KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());  
        trustStore.load(null, null);  
 
        SSLSocketFactory sf = new SSLSocketFactoryEx(trustStore);  
        sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);  
 
        HttpParams params = new BasicHttpParams();  
        HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);  
        HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);  
 
        SchemeRegistry registry = new SchemeRegistry();  
        registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));  
        registry.register(new Scheme("https", sf, 443));  
 
        ClientConnectionManager ccm = new ThreadSafeClientConnManager(params, registry);  
 
        return new DefaultHttpClient(ccm, params);  
      } catch (Exception e) {  
        return new DefaultHttpClient();  
      }  
    } 
}

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们