最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java網(wǎng)絡(luò)編程中向指定URL發(fā)送GET POST請求示例

 更新時間:2013年11月25日 15:38:04   作者:  
這篇文章主要介紹了java向指定URL發(fā)送GET POST請求示例,學習JAVA網(wǎng)絡(luò)編程一定會用到的,大家參考使用吧
復制代碼 代碼如下:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;

public class HttpRequest {
    /**
     * 向指定URL發(fā)送GET方法的請求
     *
     * @param url
     *            發(fā)送請求的URL
     * @param param
     *            請求參數(shù),請求參數(shù)應該是 name1=value1&name2=value2 的形式。
     * @return URL 所代表遠程資源的響應結(jié)果
     */
    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();
            // 設(shè)置通用的請求屬性
            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) {
            System.out.println("發(fā)送GET請求出現(xiàn)異常!" + e);
            e.printStackTrace();
        }
        // 使用finally塊來關(guān)閉輸入流
        finally {
            try {
                if (in != null) {
                    in.close();
                }
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
        return result;
    }

    /**
     * 向指定 URL 發(fā)送POST方法的請求
     *
     * @param url
     *            發(fā)送請求的 URL
     * @param param
     *            請求參數(shù),請求參數(shù)應該是 name1=value1&name2=value2 的形式。
     * @return 所代表遠程資源的響應結(jié)果
     */
    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();
            // 設(shè)置通用的請求屬性
            conn.setRequestProperty("accept", "*/*");
            conn.setRequestProperty("connection", "Keep-Alive");
            conn.setRequestProperty("user-agent",
                    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
            // 發(fā)送POST請求必須設(shè)置如下兩行
            conn.setDoOutput(true);
            conn.setDoInput(true);
            // 獲取URLConnection對象對應的輸出流
            out = new PrintWriter(conn.getOutputStream());
            // 發(fā)送請求參數(shù)
            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("發(fā)送 POST 請求出現(xiàn)異常!" + e);
            e.printStackTrace();
        }
        // 使用finally塊來關(guān)閉輸出流、輸入流
        finally {
            try {
                if (out != null) {
                    out.close();
                }
                if (in != null) {
                    in.close();
                }
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
        return result;
    }
}

相關(guān)文章

  • Java并發(fā)編程之性能、擴展性和響應

    Java并發(fā)編程之性能、擴展性和響應

    這篇文章主要介紹了Java并發(fā)編程之性能、擴展性和響應,重點在于多線程應用程序的性能問題,給性能和擴展性下一個定義,然后再仔細學習一下Amdahl法則,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 三分鐘快速掌握Java中枚舉(enum)

    三分鐘快速掌握Java中枚舉(enum)

    enum的全稱為enumeration, 是 JDK 1.5中引入的新特性,存放在 java.lang包中。下面這篇文章是我在使用enum過程中的一些經(jīng)驗和總結(jié),分享出來方便大家快速的掌握Java中枚舉(enum),有需要的朋友們下面跟著小編來一起看看吧。
    2016-12-12
  • 淺析關(guān)于java的序列化和反序列化

    淺析關(guān)于java的序列化和反序列化

    這篇文章主要介紹了淺析關(guān)于java的序列化和反序列化,所謂序列化,就是把要傳輸?shù)膶ο笠约跋嚓P(guān)信息轉(zhuǎn)換成字節(jié)數(shù)組進行存儲的過程,而反序列化就是將字節(jié)數(shù)組再轉(zhuǎn)回對象的過程,需要的朋友可以參考下
    2023-07-07
  • springboot根據(jù)實體類生成表的實現(xiàn)方法

    springboot根據(jù)實體類生成表的實現(xiàn)方法

    本文介紹了如何通過SpringBoot工程引入SpringDataJPA,并通過實體類自動生成數(shù)據(jù)庫表的過程,包括常見問題解決方法,感興趣的可以了解一下
    2024-09-09
  • 使用SpringBoot簡單實現(xiàn)無感知的刷新 Token功能

    使用SpringBoot簡單實現(xiàn)無感知的刷新 Token功能

    實現(xiàn)無感知的刷新 Token 是一種提升用戶體驗的常用技術(shù),可以在用戶使用應用時自動更新 Token,無需用戶手動干預,這種技術(shù)在需要長時間保持用戶登錄狀態(tài)的應用中非常有用,以下是使用Spring Boot實現(xiàn)無感知刷新Token的一個場景案例和相應的示例代碼
    2024-09-09
  • Spring Boot 集成Dubbo框架實例

    Spring Boot 集成Dubbo框架實例

    本篇文章主要介紹了Spring Boot 集成Dubbo框架實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Java RabbitMQ高級特性詳細分析

    Java RabbitMQ高級特性詳細分析

    為了保證消息的可靠性傳輸,包括投遞消息的生產(chǎn)方能投遞成功,和消息消費的消費方正確消費,RabbitMQ 提供了兩個確認機制,由于消息按照流通的順序從左到右,因此為保證可靠性,MQ必須對 Producer進行確認,Consumer 必須對 MQ 進行確認
    2022-08-08
  • elasticsearch索引index之Mapping實現(xiàn)關(guān)系結(jié)構(gòu)示例

    elasticsearch索引index之Mapping實現(xiàn)關(guān)系結(jié)構(gòu)示例

    這篇文章主要介紹了elasticsearch索引index之Mapping實現(xiàn)關(guān)系結(jié)構(gòu)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • jar命令修改jar包中的application.yml配置文件

    jar命令修改jar包中的application.yml配置文件

    本文主要介紹了jar命令修改jar包中的application.yml配置文件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-08-08
  • RabbitMQ消息隊列的目錄結(jié)構(gòu)

    RabbitMQ消息隊列的目錄結(jié)構(gòu)

    這篇文章主要介紹了RabbitMQ消息隊列的目錄結(jié)構(gòu),RabbitMQ?屬于消息中間件,主要用于組件之間的解耦,消息的發(fā)送者無需知道消息使用者的存在,反之亦然,那么用了那么久RabbitMQ,其目錄結(jié)構(gòu)是怎樣的呢,讓我們一起來看一下吧
    2023-08-08

最新評論

黎平县| 宁陕县| 广宁县| 阜康市| 璧山县| 阳新县| 新竹县| 邻水| 乃东县| 黔江区| 山东省| 区。| 独山县| 阿拉善盟| 柳河县| 华蓥市| 稷山县| 定西市| 密山市| 北海市| 志丹县| 常德市| 余江县| 镇赉县| 右玉县| 和静县| 桂阳县| 衡东县| 石门县| 富川| 盘锦市| 凉城县| 镇沅| 东乡族自治县| 麻城市| 平罗县| 奉节县| 沈阳市| 岳西县| 新竹市| 汕头市|