HTTPURLConnection使用案列

来源:互联网 发布:一般淘宝客服几点上班 编辑:程序博客网 时间:2024/05/29 13:32
public static String Send(String data,String url) throws Exception{
    ByteArrayOutputStream out=new ByteArrayOutputStream();
    HttpURLConnection conn=(HttpURLConnection)(new URL(url).openConnection());
    conn.setRequestMethod("POST");
    //application/x-www-form-urlencoded是指表单的提交,并且将提交的数据进行urlencode。默认情况下,我们所有的表单提交都是通过这种默认的方式实现的。
    //一般情况下,我们如果要在表单中上传文件,一般会将form的enctype参数设置为multipart/form-data。这种方式只支持POST的请求方式。
    //Contype-Type=multipart/form-data情况的时候,都会通过一个特殊的字符串来将原始POST数据进行分割。
    //application/json
    /*conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");*/
    //连接的时间
    conn.setConnectTimeout(1000*10);
    //设置是否向httpUrlConnection输出,因为这个是post请求,参数要放在   http正文内,因此需要设为true, 默认情况下是false;  
    conn.setDoOutput(true);
    //读取的时间
    conn.setReadTimeout(1000*80);
    // 设置是否从httpUrlConnection读入,默认情况下是true;
    conn.setDoInput(true);
     // Post 请求不能使用缓存   
    conn.setUseCaches(false);   
    conn.connect();
    OutputStream put=conn.getOutputStream();
    put.write(data.getBytes("utf-8"));
    put.flush();
    put.close();
    if(conn.getResponseCode()==HttpURLConnection.HTTP_OK){
        InputStream in=conn.getInputStream();
        byte[]b=new byte[in.available()];
        int len=0;
        while((len=in.read(b, 0, b.length))!=-1){
            out.write(b, 0, len);
        }
        in.close();
    }
    String result=out.toString("utf-8");
    conn.disconnect();
    out.flush();
    out.close();
    return result;
}
原创粉丝点击