Post方式请求网络数据

来源:互联网 发布:网络单机一键端论坛 编辑:程序博客网 时间:2024/05/18 06:06

public String urlPath = "";//请求的json数据

 try {

            URL url = new URL(urlPath);
            HttpURLConnection httpurl = (HttpURLConnection) url.openConnection();
            httpurl.setRequestMethod("POST");
            //设置连接主机超时
            httpurl.setConnectTimeout(30000);
            //设置从主机读取数据超时

            httpurl.setReadTimeout(30000);

//这两行是相比于get请求而必须添加的

            httpurl.setDoInput(true);
            httpurl.setDoOutput(true);
            //读取数据
            OutputStream os = httpurl.getOutputStream();
            os.write(request.getBytes());
            //刷新
            os.flush();
            //判断返回值是否正确
            if (httpurl.getResponseCode() == 200) {
                InputStream in = httpurl.getInputStream();
                StringBuffer sb = new StringBuffer();
                //创建字符数组
                byte[] buff = new byte[1024];
                int len = -1;
                while ((len = in.read(buff)) != -1) {
                    sb.append(new String(buff, 0, len, "utf-8"));
                }
                //关闭流
                in.close();
                os.close();
                httpurl.disconnect();
                return sb.toString();
            } else {
                return null;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
原创粉丝点击