java HttpClient Post实例

private void postMethod(String url) throws IOException
 {     
  url = "http://www.newsmth.net/bbslogin2.php";
  PostMethod postMethod = new PostMethod(url);
  // 填入各个表单域的值
  NameValuePair[] data = { new NameValuePair("id", "herrapfel"),new NameValuePair("passwd", "") };
  // 将表单的值放入postMethod中
  postMethod.setRequestBody(data);
  // 执行postMethod
  int statusCode = httpClient.executeMethod(postMethod);
  System.out.println(" status code:" + statusCode);
  // HttpClient对于要求接受后继服务的请求,象POST和PUT等不能自动处理转发
 

 

if(statusCode == HttpStatus.SC_OK)
  {
   StringBuffer contentBuffer = new StringBuffer();
   InputStream in = postMethod.getResponseBodyAsStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(in,postMethod.getResponseCharSet()));
            String inputLine = null;
            while((inputLine = reader.readLine()) != null)
            {
             contentBuffer.append(inputLine);
             System.out.println("input line:"+ inputLine);
             contentBuffer.append("/n");
            }
            in.close();

  }
  else if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY || statusCode == HttpStatus.SC_MOVED_TEMPORARILY) 
  {
      // 从头中取出转向的地址
      Header locationHeader = postMethod.getResponseHeader("location");
      String location = null;
      if (locationHeader != null) 
      {
       location = locationHeader.getValue();
       System.out.println("The page was redirected to:" + location);
      } 
      else 
      {
       System.err.println("Location field value is null.");
      }
  }

 

 

 

 }



-------------------------------------------------------

Java模拟POST表单提交HttpClient操作  

2012-07-28 08:40:57|  分类: java_js_flex_css |  标签:httpclient  |举报|字号 订阅

public static void Login() {
       String url = "http://www.***.com/login";
       PostMethod postMethod = new PostMethod(url);
       // 填入各个表单域的值
       NameValuePair[] data = {
               new NameValuePair("account", "yijianfeng_vip@163.com"),
               new NameValuePair("nextUrl", ""),
               new NameValuePair("lcallback", ""),
               new NameValuePair("password    ", "******"),
               new NameValuePair("persistent", "1"), };
       // 将表单的值放入postMethod中
       postMethod.setRequestBody(data);
       // 执行postMethod
       int statusCode = 0;
       try {
           statusCode = httpClient.executeMethod(postMethod);
       } catch (HttpException e) {
           e.printStackTrace();
       } catch (IOException e) {
           e.printStackTrace();
       }
       // HttpClient对于要求接受后继服务的请求,象POST和PUT等不能自动处理转发
       // 301或者302
       if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY
               || statusCode == HttpStatus.SC_MOVED_TEMPORARILY) {
           // 从头中取出转向的地址
           Header locationHeader = postMethod.getResponseHeader("location");
           String location = null;
           if (locationHeader != null) {
               location = locationHeader.getValue();
               System.out.println("diandianLogin:" + location);
           } else {
               System.err.println("Location field value is null.");
           }
           return;
       } else {
           System.out.println(postMethod.getStatusLine());
           String str = "";
           try {
               str = postMethod.getResponseBodyAsString();
           } catch (IOException e) {
               e.printStackTrace();
           }
           System.out.println(str);
       }
       postMethod.releaseConnection();
       return;
   }


其中需要的jar包:

1、 commons-httpclient.jar

2、commons-codec.jar

3、commons-logging.jar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值