Java模拟POST表单提交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

 开发者博客www.developsearch.com

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值