HttpClient如何进行表单提交呢?

打印 上一主题 下一主题

主题 910|帖子 910|积分 2730

转自:
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.     }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王海鱼

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表