博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HttpClient发送post请求,中文编码问题
阅读量:6504 次
发布时间:2019-06-24

本文共 1339 字,大约阅读时间需要 4 分钟。

hot3.png

/**

     * 模拟表单提交
     * url
     * data
     *
     * 2016-6-27 
     */
    public static String methodPost(String url,NameValuePair[] data){  
        
        String response= "";//要返回的response信息  
        HttpClient httpClient = new HttpClient();  
        PostMethod postMethod = new PostMethod(url);  
        //设置编码
        postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
        // 将表单的值放入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("The page was redirected to:" + location);  
                response= methodPost(location,data);//用跳转后的页面重新请求。  
            } else {  
                System.err.println("Location field value is null.");  
            }  
        } else {  
            System.out.println(postMethod.getStatusLine());  
  
            try {  
                response= postMethod.getResponseBodyAsString();  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
            postMethod.releaseConnection();  
        }  
        return response;  
    }  

转载于:https://my.oschina.net/wtzheng/blog/714345

你可能感兴趣的文章
构造函数
查看>>
带动画渐进效果与颜色渐变的圆弧进度控件设计
查看>>
微信小程序视图层WXSS
查看>>
olabuy:健康补锌很重要,用“锌”爱自已
查看>>
故障排查
查看>>
简述VMware虚拟机涉及的三种网络模式
查看>>
MySQL 5.6 for Windows 解压缩版配置安装
查看>>
Shell笔记4——if条件语句的知识和实践
查看>>
C#中Struct与Class的区别(转)
查看>>
squid缓存代理---传统代理和透明代理详解
查看>>
知识阅读的好处你都了解吗?芒果xo来告诉你答案
查看>>
Linux常见命令总结
查看>>
三分钟轻松了解Spring框架基础知识
查看>>
verilog实现的VGA显示自反弹移动小方块
查看>>
springmvc使用jodo-time的坑
查看>>
USB数据采集卡:labjack T7、T7 Pro系列的技术特点
查看>>
Java项目命名规范
查看>>
自学web前端课程大纲分享,适合所有人学习
查看>>
[JMS 3] ActiveMQ实现简单的helloworld
查看>>
Java 注解 (Annotation)你可以这样学
查看>>