package com.baqingshe.bjs.util;

 import java.io.BufferedReader;

 import java.io.IOException;

 import java.io.InputStream;

 import java.io.InputStreamReader;

 import java.io.PrintWriter;

 import java.net.URL;

 import java.net.URLConnection;

 import java.util.List;

 import java.util.Map;

 import sun.net.www.protocol.http.HttpURLConnection;

 public class HttpRequest {

   public static String doGet(String url) throws Exception {

        URL localURL = new URL(url);

        URLConnection connection = localURL.openConnection();

        HttpURLConnection httpURLConnection = (HttpURLConnection)connection;

        httpURLConnection.setRequestProperty("Accept-Charset", "utf-8");

        httpURLConnection.setRequestProperty("Content-Type", "application/json");

        InputStream inputStream = null;

        InputStreamReader inputStreamReader = null;

        BufferedReader reader = null;

        StringBuffer resultBuffer = new StringBuffer();

        String tempLine = null;

        if (httpURLConnection.getResponseCode() >= 300) {

            throw new Exception("HTTP Request is not success, Response code is " + httpURLConnection.getResponseCode());

        }

        try {

            inputStream = httpURLConnection.getInputStream();

            inputStreamReader = new InputStreamReader(inputStream);

            reader = new BufferedReader(inputStreamReader);

            while ((tempLine = reader.readLine()) != null) {

                resultBuffer.append(tempLine);

            }

        } finally {

            if (reader != null) {

                reader.close();

            }

            if (inputStreamReader != null) {

                inputStreamReader.close();

            }

            if (inputStream != null) {

                inputStream.close();

            }

        }

        return resultBuffer.toString();

    }

     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()));

             String line;

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

                 result += line;

             }

         } catch (Exception e) {

             System.out.println("发送 POST 请求出现异常!"+e);

             e.printStackTrace();

         }

         //使用finally块来关闭输出流、输入流

         finally{

             try{

                 if(out!=null){

                     out.close();

                 }

                 if(in!=null){

                     in.close();

                 }

             }

             catch(IOException ex){

                 ex.printStackTrace();

             }

         }

         return result;

     }    

 }

java发送GET和post请求的更多相关文章

  1. Java发送get及post请求工具方法

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  2. JAVA发送http get/post请求,调用http接口、方法

    import java.io.BufferedReader; import java.io.IOException;import java.io.InputStream; import java.io ...

  3. Java发送http get/post请求,调用接口/方法

    由于项目中要用,所以找了一些资料,整理下来. GitHub地址: https://github.com/iamyong    转自:http://blog.csdn.net/capmiachael/a ...

  4. JAVA发送http GET/POST请求的两种方式+JAVA http 请求手动配置代理

    java发送http get请求,有两种方式. 第一种用URLConnection: public static String get(String url) throws IOException { ...

  5. Java 发送Get和Post请求

    package com.htpt.superviseServices.dm.util; import java.io.BufferedReader; import java.io.IOExceptio ...

  6. Java 发送http GET/POST请求

    最近项目里面需要用到Java发送http请求,由于发送https请求有点复杂,暂时不考虑 HttpURLConnection HttpURLConnection是一种多用途.轻量极的HTTP客户端,使 ...

  7. 如何用java发送Http的post请求,并传递参数

    书写方法,请参考以下代码: package utils; import java.io.BufferedReader; import java.io.IOException; import java. ...

  8. java发送post 的json请求

    package com.elink.estos.mq.mqmanager; import java.io.IOException; import java.io.InputStream; import ...

  9. 【工具】java发送GET、POST请求

    前项目使用这种HTTP的方式进行数据交互,目前已更换数据交互方式,但是作为接口提供调用来说还是比较简洁高效的: 总体流程就是: 1.发送HTTP请求 2.获取返回的JSON对象 3.JSON转换 pa ...

随机推荐

  1. 移植eac3音频库

    2016-5-26 移植eac3音频库,从ffmpeg库中移植.经过验证是切实可行的. 感觉开源软件就是时间黑洞,有多少时间搭进去都不为过.已经3周过去了,ffmpeg还是没有熟悉完. 真正的移植工作 ...

  2. Traditional Language Model

    Traditional Language Model通常用于回答下述问题: How likely is a string of English words good English ? \(p_{LM ...

  3. 一个ERP项目实施工程师的若干体会

    本人在多年的工作中,参与了ERP的研发和实施,对ERP有较深的认识.在这里,根据自已的实施过程中的一些经历,把自已在实践中的一些体会贡献出来和大家共享,由于时间和精力所限,内容难免有不当之处,挂一漏万 ...

  4. C#虚函数和接口的区别

    接口只能声明不能实现,虚函数可以. 接口:对外提供可以访问的函数叫接口.虚函数不需要被强制重写,其本身含有实现部分. 抽象类:指派了派生类必须实现的函数(纯虚函数),不然编译不通过. 虚函数的限制:  ...

  5. Yii2.0数据库查询的一些简单的操作

    User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的一条数据(举个例子): User::find()->w ...

  6. 烂泥:nginx、php-fpm、mysql用户权限解析

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://ilanni.blog.51cto.com/526870/1561097 本文首发 ...

  7. PDO防sql注入原理分析

    使用pdo的预处理方式可以避免sql注入. 在php手册中'PDO--预处理语句与存储过程'下的说明: 很多更成熟的数据库都支持预处理语句的概念.什么是预处理语句?可以把它看作是想要运行的 SQL 的 ...

  8. 在Application中集成Microsoft Translator服务之获取访问令牌

    我在这里画了一张图来展示业务逻辑 在我们调用microsoft translator server之前需要获得令牌,而且这个令牌的有效期为10分钟.下表列出所需的参数和对于的说明 参数 描述 clie ...

  9. 学习笔记——k近邻法

    对新的输入实例,在训练数据集中找到与该实例最邻近的\(k\)个实例,这\(k\)个实例的多数属于某个类,就把该输入实例分给这个类. \(k\) 近邻法(\(k\)-nearest neighbor, ...

  10. [NHibernate]一对多关系(关联查询)

    目录 写在前面 文档与系列文章 一对多查询 总结 写在前面 上篇文章介绍了nhibernate的一对多关系如何配置,以及级联删除,级联添加数据的内容.这篇文章我们将学习nhibernate中的一对多关 ...