向指定URL发送POST,GET请求

来源:互联网 发布:mac更换登录帐号 编辑:程序博客网 时间:2024/06/05 11:06
   /**     * 向指定 URL 发送POST方法的请求     *      * @param url     *            发送请求的 URL     * @param param     *            请求参数,请求参数应该是 name1=value1&name2=value2 的形式。     * @return 所代表远程资源的响应结果     */    public static String sendPost(String url, String param) {        PrintWriter out = null;        BufferedReader in = null;        String result = "";        try {            URL realUrl = new URL(url);            // 打开和URL之间的连接            URLConnection conn = realUrl.openConnection();            // 设置通用的请求属性            conn.setRequestProperty("accept", "*/*");            conn.setRequestProperty("connection", "Keep-Alive");            conn.setRequestProperty("user-agent",                    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");            // 发送POST请求必须设置如下两行            conn.setDoOutput(true);            conn.setDoInput(true);            // 获取URLConnection对象对应的输出流            out = new PrintWriter(conn.getOutputStream());            // 发送请求参数            out.print(param);            // flush输出流的缓冲            out.flush();            // 定义BufferedReader输入流来读取URL的响应            in = new BufferedReader(                    new InputStreamReader(conn.getInputStream(),"UTF-8"));            String line;            while ((line = in.readLine()) != null) {                result += line;            }        } catch (Exception e) {            System.out.println("发送 POST 请求出现异常!"+e);            e.printStackTrace();            return result;        }        //使用finally块来关闭输出流、输入流        finally{            try{                if(out!=null){                    out.close();                }                if(in!=null){                    in.close();                }            }            catch(IOException ex){                ex.printStackTrace();            }        }        return result;    }      /**     * post方法 参数为json对象     * @param url     * @param jsonParam 封装为json对象的参数;     * @return     */    public static String sendPost(String url,JSONObject jsonParam) {        try{               //创建连接               URL realUrl = new URL(url);               HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();               connection.setDoOutput(true);               connection.setDoInput(true);               connection.setRequestMethod("POST");               connection.setUseCaches(false);               connection.setInstanceFollowRedirects(true);               //connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");               connection.setRequestProperty("Content-Type","application/json; charset=UTF-8");                      connection.connect();//               POST请求               DataOutputStream out = new DataOutputStream(connection.getOutputStream());                         //out.writeBytes(obj.toString());//这个中文会乱码               out.write(jsonParam.toString().getBytes("UTF-8"));//这样可以处理中文乱码问题               out.flush();               out.close();               //读取响应               BufferedReader reader = new BufferedReader(new InputStreamReader(                       connection.getInputStream()));               String lines;               StringBuffer sb = new StringBuffer("");               while ((lines = reader.readLine()) != null) {                   lines = new String(lines.getBytes(), "utf-8");                   sb.append(lines);               }               System.out.println(sb);               reader.close();               // 断开连接               connection.disconnect();               return sb.toString();           } catch (MalformedURLException e) {               // TODO Auto-generated catch block               e.printStackTrace();               return HttpUtils.Error_perfix+"url解析异常!";           } catch (UnsupportedEncodingException e) {               // TODO Auto-generated catch block               e.printStackTrace();               return HttpUtils.Error_perfix+"不支持的编码格式!";           } catch (IOException e) {               // TODO Auto-generated catch block               e.printStackTrace();               return HttpUtils.Error_perfix+"服务端异常!";           }       }
阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 离婚后孩子找爸爸怎么办 离婚后孩子要找爸爸怎么办 断奶期间胸涨的难受怎么办 断奶胸涨的很疼怎么办 过了麦季身上老痒怎么办 过麦时候皮肤痒怎么办 颈部起红疙瘩痒怎么办 脚底痒身上痒该怎么办 生完孩子屁股疼怎么办 pr打开工程文件无响应怎么办 娃娃和老师有隔阂了怎么办 大人字写得不好怎么办 不会写好看的字怎么办 无限量流量限速了怎么办 长期化妆后皮肤变黄怎么办 手机密码忘记了打不开怎么办 手机解压包不知道密码怎么办 手机屏图标没了怎么办 b站页面卡顿怎么办 被全景视觉骗了怎么办? 逆战进去没声音怎么办 Mac电脑ai卡住了怎么办 pr字幕打不了字怎么办 pr手写字多笔画怎么办 家中挖矿噪音很大怎么办 学了栏目包装不想干怎么办 在文本打字乱了怎么办 体考后觉得成绩有出入怎么办 荧光棒进眼睛里怎么办 无法读源文件或磁盘怎么办 爱剪辑视频横着怎么办 pr界面字体太小怎么办 0p手机卡槽坏了怎么办 pr视频有水波纹怎么办 手机耳机插口插上没声音怎么办 xp系统电脑没有声音怎么办 win10笔记本耳机没声音怎么办 电脑插耳机还是外放怎么办 主机电脑耳机插孔坏了怎么办 苹果6plus有点卡怎么办 手机拨通电话后黑屏怎么办