ToB企服应用市场:ToB评测及商务社交产业平台

标题: HttpClient如何进行表单提交呢? [打印本页]

作者: 王海鱼    时间: 2022-8-31 07:44
标题: HttpClient如何进行表单提交呢?
转自:
http://www.java265.com/JavaCourse/202204/2937.html
HttpClient是一个java语言编写的包,
我们使用HttpClient可以非常方便的发送Http请求
它使基于Http协议请求内容变得非常简单
HttpClient是Apache Jakarta Common下的子项目 它里面封装了很多使用http协议访问的工具,可用于高效访问http
 
下文笔者讲述基于HttpClient Utils工具类编写一个表单提交的示例分享,如下所示:
  1. HttpClient Utils进行表单提交同post提交的方式一摸一样,如下所示
  2. 实现思路:
  3.     1.获取连接
  4.         2.声明一个HttpPost
  5.         3.创建请求参数体
  6.         4.execute获取信息
  7.         5.getEntity获取返回信息
  8.         6.关闭连接
复制代码
  1. /**
  2.      * post方式提交表单(模拟用户登录请求)
  3.      */   
  4.     public void postForm() {   
  5.         // 创建默认的httpClient实例.     
  6.         CloseableHttpClient httpclient = HttpClients.createDefault();   
  7.         // 创建httppost     
  8.         HttpPost httppost = new HttpPost("http://java265.com/login");   
  9.         // 创建参数队列     
  10.         List<NameValuePair> formparams = new ArrayList<NameValuePair>();   
  11.         formparams.add(new BasicNameValuePair("username", "admin"));   
  12.         formparams.add(new BasicNameValuePair("password", "java265.compwd"));   
  13.         UrlEncodedFormEntity uefEntity;   
  14.         try {   
  15.             uefEntity = new UrlEncodedFormEntity(formparams, "UTF-8");   
  16.             httppost.setEntity(uefEntity);   
  17.             System.out.println("executing request " + httppost.getURI());   
  18.             CloseableHttpResponse response = httpclient.execute(httppost);   
  19.             try {   
  20.                 HttpEntity entity = response.getEntity();   
  21.                 if (entity != null) {   
  22.                     System.out.println("--------------------------------------");   
  23.                     System.out.println("Response content: " + EntityUtils.toString(entity, "UTF-8"));   
  24.                     System.out.println("--------------------------------------");   
  25.                 }   
  26.             } finally {   
  27.                 response.close();   
  28.             }   
  29.         } catch (ClientProtocolException e) {   
  30.             e.printStackTrace();   
  31.         } catch (UnsupportedEncodingException e1) {   
  32.             e1.printStackTrace();   
  33.         } catch (IOException e) {   
  34.             e.printStackTrace();   
  35.         } finally {   
  36.             // 关闭连接,释放资源     
  37.             try {   
  38.                 httpclient.close();   
  39.             } catch (IOException e) {   
  40.                 e.printStackTrace();   
  41.             }   
  42.         }   
  43.     }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4