首页 > 开发 > Java > 正文

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

2024-07-13 10:05:43
字体:
来源:转载
供稿:网友

最近在学习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();        }      } }

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


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表