栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

首先,上代码:

Runnable payRunnable = new Runnable()  
      { 
 @Override 
 public void run()  
 { 
   try 
   {   
     HashMap payParamMap = new HashMap(); 
     payParamMap.put("canshu" ,"woshicanshu" ); 
     String payParamStr = XmlUtils.toXml(payParamMap);//转换成xml格式 
      
     String resultStr = Utils.httpPost(UrlString, payParamStr);//调用访问函数 
      
     //resultStr 就是访问所得到的返回值  
   } 
   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();  
      }  
    } 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/147090.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号