您好,欢迎访问沃航(武汉)科技有限公司官方网站
使用java发送post请求
2017-08-27 10:00:00

上一篇文章小沃给大家介绍了一下使用eclipse发送post请求的方法,这一节课小沃要写一写如何通过java发送post请求。

这里我们需要用httpclient.jar这个类,使用gradle下载这个类的方法这里就不详述了。

下面我们讲讲具体实现方法:

一、new一个URL

URL url = new URL(str_url);其中个str_url就是我们要发送post请求的url地址。


二、创建一个HttpURLConnection对象

这里我们直接使用上一步创建的url来实现,HttpURLConnection conn = (HttpURLConnection) url.openConnection();


三、设置相关的参数

conn.setDoOutput(true);//设置数据发送权限允许

conn.setDoInput(true);//设置数据接收权限允许

conn.setRequestMethod("POST");//设置传参模式为post


四、建立真正的连接

这里比较简单,一句话即可。

conn.connect();


五、创建连接的输入输出流

OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");

BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));

至此,所有的通信前期准备工作就全部完成了,下一步所需要的就是写入真正的数据了。


六、写入所需要发送的post命令

这里需要先准本数据,post请求的参数格式需要用“=”与“&”连接组合。

out.write("m=Index&c=index&a=index");

out.flush();


七、接收返回来的数据

String line;

while ((line = in.readLine()) != null) {

    result += line;

 }

剩下的就只剩下解析以及处理了。


下面是小沃写的一段完整的程序代码:

private String postsubmit(String str_url, String data) {
    OutputStreamWriter out = null;
    BufferedReader in = null;
    String result = "";
    try {
        URL url = new URL(str_url);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setDoOutput(true);
        conn.setRequestMethod("POST");
        conn.connect();
        out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");
        out.write(data);
        out.flush();
        in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        String line;
        while ((line = in.readLine()) != null) {
            result += line;
        }
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        result = "";
    }
    return result;
}


联系我们
地址:
武汉市洪山区蓝晶国际7栋903
QQ:
932773931
电话:
027-59761089-806
手机:
13397158231
邮箱:
jevian_ma@worldflying.cn
×
物联网组态平台
试用账号:123456
试用密码:123456
如需测试更多功能或者有疑问可发送邮件至:jevian_ma@worldflying.cn
×
积木编程平台
试用方式:试用手机号码注册即可使用
如需测试更多功能或者有疑问可发送邮件至:jevian_ma@worldflying.cn