代码改变世界

httpClient 模拟表单提交

2012-08-01 19:18  javaspring  阅读(932)  评论(0编辑  收藏  举报
httpClient 模拟表单提交

httpClient 模拟表单提交


public static void diandianAdd(int i) {
        String url = "http://www.";
        PostMethod postMethod = new PostMethod(url);
        // 填入各个表单域的值
        NameValuePair[] data = {
                new NameValuePair("email", "aaaaaaaaaa"+i+"@gmall.com"),
                new NameValuePair("passwd", "aaaaaaaaaa"+i),
                new NameValuePair("passwd_r", "aaaaaaaaaa"+i),
                new NameValuePair("uname", "aaaaaaaaaa"+i),};
        // 将表单的值放入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("diandianAdd:" + 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;
    }

httpClient 模拟表单提交