java HttpClient Post实例

来源:互联网 发布:电信卡怎么设置4g网络 编辑:程序博客网 时间:2024/06/08 07:11

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.");
      }
  }

 

原创粉丝点击