`
umgsai
  • 浏览: 112001 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

Java发送http请求代码示例

阅读更多
/**
 * Created by shangyidong on 16/7/28.
 */
public class HttpUtil {
    private static final AvatarLogger logger = AvatarLoggerFactory.getLogger(HttpUtil.class);

    /**
     * 向指定URL发送GET方法的请求
     *
     * @param url
     *            发送请求的URL
     * @param param
     *            请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
     * @return URL 所代表远程资源的响应结果
     */
    public static String sendGet(String url, String param) {
        String result = "";
        BufferedReader in = null;
        try {
            String urlNameString = url + "?" + param;
            URL realUrl = new URL(urlNameString);
            // 打开和URL之间的连接
            URLConnection connection = realUrl.openConnection();
            // 设置通用的请求属性
            connection.setRequestProperty("accept", "*/*");
            connection.setRequestProperty("connection", "Keep-Alive");
            connection.setRequestProperty("user-agent",
                    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
            // 建立实际的连接
            connection.connect();
            /*
            // 获取所有响应头字段
            Map<String, List<String>> map = connection.getHeaderFields();
            for (String key : map.keySet()) {
                System.out.println(key + "--->" + map.get(key));
            }
            */
            // 遍历所有的响应头字段
            // 定义 BufferedReader输入流来读取URL的响应
            in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String line;
            while ((line = in.readLine()) != null) {
                result += line;
            }
        } catch (Exception e) {
            logger.error("发送GET请求出现异常", e);
        } finally {//关闭输入流
            try {
                if (in != null) {
                    in.close();
                }
            } catch (Exception e) {
                logger.error(e);
            }
        }
        return result;
    }

    /**
     * 向指定 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()));
            String line;
            while ((line = in.readLine()) != null) {
                result += line;
            }
        } catch (Exception e) {
            logger.error("发送POST请求出现异常", e);
        } finally {
            //关闭输出流、输入流
            try {
                if(out!=null){
                    out.close();
                }
                if(in!=null){
                    in.close();
                }
            } catch (IOException e){
                logger.error(e);
            }
        }
        return result;
    }

    public static String sendPostMethod(String url, String title, String content, String warnContactList){
        return sendPost(url, "domain=&typeItem=Page&level=1&url=&title=" + title + "&typeObject=Web&content=" + content + "&source=mkt-monitor&typeAttribute=Content&notifier=[" + warnContactList + "]&severity=high");
    }

    public static void main(String[] args){
        //发送 GET 请求
        //String s = HttpUtil.sendGet("http://localhost:6144/Home/RequestString", "key=123&v=456");
        //System.out.println(s);

        //发送 POST 请求
        String sr = HttpUtil.sendPost("http://****/report/alarm", "domain=&typeItem=Page&level=1&url=&title=测试告警测试告警test&typeObject=Web&content=测试告警内容&source=mkt-monitor&typeAttribute=Content&notifier=[{\"mobile\": \"170****0278\", \"notify_methods\": \"email,weixin,sms\", \"email\": \"shangyidong@***.com\", \"name\": \"shangyidong\"},{\"mobile\": \"183****6723\", \"notify_methods\": \"email,weixin,sms\", \"email\": \"yangcheng15@***.com\", \"name\": \"yangcheng15\"}]&severity=high");
        System.out.println(sr);
    }
}

 

分享到:
评论

相关推荐

    java发送http/https请求(get/post)代码

    要发送HTTP请求,Java提供了多种方法,最常用的是`java.net.URL`和`java.net.HttpURLConnection`类。下面是一个简单的GET请求示例: ```java URL url = new URL("http://example.com"); HttpURLConnection ...

    JAVA发送POST请求,如何使用JAVA发送POST请求

    本资源库提供了一份完整的JAVA客户端发送POST请求的示例代码,可以帮助您快速了解如何使用JAVA客户端发送POST请求,同时也适用于其他HTTP请求类型。 我们的示例代码包括以下主要部分: 创建HTTP连接:使用Java.net...

    java代码发送JSON格式的httpPOST请求

    在Java中,`HttpURLConnection`类是发送HTTP请求最基础且直接的方式。下面将详细解析如何利用`HttpURLConnection`来构建并发送一个包含JSON数据的POST请求: ```java import java.io.BufferedReader; import java....

    java发送http请求报文json

    该示例代码展示了如何通过 Java 发送一个 HTTP POST 请求,并在请求体中携带 JSON 数据。 1. **导入必要的类库**: ```java import java.io.BufferedReader; import java.io.DataOutputStream; import java.io...

    Java发送HTTP请求GET/POST测试

    总的来说,Java发送HTTP请求GET/POST是网络编程的基础,理解和掌握这些知识对于进行Web服务的开发和集成至关重要。无论是简单的数据获取还是复杂的数据交互,都能通过这些方法实现。通过实践项目,你可以更好地理解...

    java HttpClient 发送GET请求和带有表单参数的POST请求教程例子

    本文将通过具体的代码示例,详细介绍如何使用Java HttpClient来发送这两种类型的请求。 #### 二、发送GET请求 在Java中使用HttpClient发送GET请求相对简单。首先,需要创建一个`HttpClient`实例,然后使用`...

    HttpClient发送http请求(post和get)需要的jar包+内符java代码案例+注解详解

    在Java编程中,HttpClient是一个非常重要的工具库,用于发送HTTP请求。这个压缩包可能包含了实现HTTP GET和POST请求所需的jar包以及示例代码,帮助开发者理解如何使用HttpClient进行网络通信。下面将详细介绍...

    java发送http/https请求(get/post)Demo,亲测可用

    这里我们将深入探讨如何使用Java发送GET和POST请求,以及处理JSON数据。 首先,让我们关注GET请求。GET请求主要用于从服务器获取资源,其参数通常包含在URL中。在Java中,可以使用`HttpURLConnection`类或者第三方...

    Java编程:发送HTTP请求,返回响应内容

    总的来说,Java发送HTTP请求和处理响应涉及网络编程、HTTP协议理解、异常处理、输入/输出流操作,以及可能的HTML解析和网页爬虫技术。这些知识对于任何想要构建Web客户端应用或进行数据抓取的开发者来说都是必不可少...

    Java发https请求证书问题

    本文将围绕“Java 发送 HTTPS 请求证书问题”这一主题展开讨论,通过对给定文件中的代码示例及操作步骤进行分析,帮助读者理解如何在 Java 中正确配置并发送 HTTPS 请求。 #### 标题:Java 发送 HTTPS 请求证书问题...

    HttpClient发送http请求(post+get)需要的jar包+内符java代码案例+注解详解

    本篇将详细介绍如何使用HttpClient发送HTTP请求,包括POST和GET方法,同时提供相关的jar包依赖以及Java代码示例,并对关键代码进行注解解释。 一、HttpClient库的引入 在Java项目中,首先需要添加HttpClient的jar包...

    java发送http请求并获取状态码的简单实例

    在Java编程中,发送HTTP请求并获取状态码是常见的网络通信任务。HTTP状态码是服务器对客户端请求的响应,它提供了关于请求是否成功、需要进一步操作还是存在错误等信息。以下是一个简单的Java实例,展示了如何实现这...

    JAVA发送HttpClient请求及接收请求完整代码实例

    以上就是使用Java HttpClient发送HTTP请求和接收响应的基本操作。在实际开发中,可能还需要处理更多细节,比如重试机制、超时设置、Cookie管理等。HttpClient提供了丰富的API和配置选项,可以根据项目需求进行定制。

    java http 发送xml报文

    本文将深入解析如何利用Java语言实现HTTP请求,并发送XML格式的数据,同时也会涵盖相关的概念、代码解读以及可能遇到的问题。 ### 一、HTTP与XML基础知识 #### HTTP(超文本传输协议) HTTP是互联网上应用最为广泛...

    使用java发送get和post请求实践

    Apache HttpClient 库是 Apache 软件基金会提供的一个开源库,用于在 Java 中发送 HTTP 请求。它提供了一个高效、灵活的方法来处理 HTTP 请求和响应。 使用 Apache HttpClient 库发送 GET 请求 在上面的代码中,...

    java socket 发送http请求webservice.

    Java Socket 发送HTTP请求Web Service是一项基础且重要的网络编程技能,尤其在开发分布式系统或集成不同服务时。本文将深入探讨如何使用Java的Socket API来实现这个功能,并结合标签“源码”和“工具”,提供实用的...

    java使用HttpClient发送http请求

    在Java编程中,HttpClient是一个非常重要的工具库,用于发送HTTP请求和处理响应。这个工具广泛应用于各种场景,如数据抓取、API交互等。本文将深入讲解如何使用HttpClient来发送HTTP请求,以及相关的源码分析。 ...

    java实现http请求以及解析json与java对象转换 项目源代码实例

    这个项目源代码可能包含了使用这些方法之一的例子,展示如何发送GET、POST以及其他类型的HTTP请求,包括设置请求头、处理响应码和读取响应数据。 其次,JSON(JavaScript Object Notation)是一种轻量级的数据交换...

    JAVA发送HttpClient请求及接收请求结果过程

    ### JAVA发送HttpClient请求及接收请求结果过程 #### 一、概述 在Java开发过程中,经常需要与外部系统进行HTTP通信,比如发送POST或GET请求来获取数据或提交数据。Apache HttpClient是一个强大的HTTP客户端库,提供...

    Java爬虫代码示例.rar

    1. **网络请求**:Java爬虫首先需要向目标网站发送HTTP或HTTPS请求。这通常通过Java的HttpURLConnection或者Apache HttpClient库来实现。请求包括GET和POST等方法,携带必要的参数如URL、Header和Body。 2. **HTML...

Global site tag (gtag.js) - Google Analytics