一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - java發(fā)送http的get、post請求實現(xiàn)代碼

java發(fā)送http的get、post請求實現(xiàn)代碼

2020-04-29 11:37jingxian JAVA教程

下面小編就為大家?guī)硪黄猨ava發(fā)送http的get、post請求實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

Http請求類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
package wzh.Http;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
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ù)應(yīng)該是 name1=value1&name2=value2 的形式。
   * @return URL 所代表遠(yuǎn)程資源的響應(yīng)結(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();
      // 獲取所有響應(yīng)頭字段
      Map<String, List<String>> map = connection.getHeaderFields();
      // 遍歷所有的響應(yīng)頭字段
      for (String key : map.keySet()) {
        System.out.println(key + "--->" + map.get(key));
      }
      // 定義 BufferedReader輸入流來讀取URL的響應(yīng)
      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ù)應(yīng)該是 name1=value1&name2=value2 的形式。
   * @return 所代表遠(yuǎn)程資源的響應(yīng)結(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對象對應(yīng)的輸出流
      out = new PrintWriter(conn.getOutputStream());
      // 發(fā)送請求參數(shù)
      out.print(param);
      // flush輸出流的緩沖
      out.flush();
      // 定義BufferedReader輸入流來讀取URL的響應(yīng)
      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;
  
}

調(diào)用方法:

?
1
2
3
4
5
6
7
8
9
public static void main(String[] args) {
    //發(fā)送 GET 請求
    String s=HttpRequest.sendGet("http://localhost:6144/Home/RequestString", "key=123&v=456");
    System.out.println(s);
    
    //發(fā)送 POST 請求
    String sr=HttpRequest.sendPost("http://localhost:6144/Home/RequestPostString", "key=123&v=456");
    System.out.println(sr);
  }

以上這篇java發(fā)送http的get、post請求實現(xiàn)代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。

延伸 · 閱讀

精彩推薦
  • JAVA教程Java判斷時間段內(nèi)文件是否更新的方法

    Java判斷時間段內(nèi)文件是否更新的方法

    這篇文章主要介紹了Java判斷時間段內(nèi)文件是否更新的方法,通過實例形式講述了定時器、類加載器及線程等方法實現(xiàn)判斷文件更新的功能,具有一定的參考借...

    shichen20141392019-12-07
  • JAVA教程java實現(xiàn)jdbc批量插入數(shù)據(jù)

    java實現(xiàn)jdbc批量插入數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)jdbc批量插入數(shù)據(jù),三種JDBC批量插入編程方法進(jìn)行比較,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興...

    java教程網(wǎng)4822020-04-26
  • JAVA教程全面解析Java中的GC與幽靈引用

    全面解析Java中的GC與幽靈引用

    一般的應(yīng)用程序不會涉及到 Reference 編程, 但是了解這些知識會對理解 GC 的工作原理以及性能調(diào)優(yōu)有一定幫助,在實現(xiàn)一些基礎(chǔ)性設(shè)施比如緩存時也可能會...

    java開發(fā)網(wǎng)1682019-10-14
  • JAVA教程java多線程編程之使用thread類創(chuàng)建線程

    java多線程編程之使用thread類創(chuàng)建線程

    在Java中創(chuàng)建線程有兩種方法:使用Thread類和使用Runnable接口。在使用Runnable接口時需要建立一個Thread實例 ...

    java教程網(wǎng)3402019-11-04
  • JAVA教程java結(jié)合HADOOP集群文件上傳下載

    java結(jié)合HADOOP集群文件上傳下載

    這篇文章主要介紹了java結(jié)合HADOOP集群文件上傳下載的方法和示例,非常的實用,這里推薦給大家,希望大家能夠喜歡。 ...

    hebedich3252019-12-13
  • JAVA教程Java Socket編程實現(xiàn)簡單的問候服務(wù)

    Java Socket編程實現(xiàn)簡單的問候服務(wù)

    這篇文章主要為大家介紹了Java Socket編程實現(xiàn)簡單的問候服務(wù),具有一定的參考價值,感興趣的小伙伴們可以參考一下 ...

    gloomyfish4102020-03-22
  • JAVA教程Java實現(xiàn)動態(tài)代理

    Java實現(xiàn)動態(tài)代理

    本文給大家介紹的是java使用動態(tài)代理類實現(xiàn)動態(tài)代理的方法和示例,這里推薦給大家,有需要的小伙伴參考下吧 ...

    hebedich2612019-12-10
  • JAVA教程Java函數(shù)式編程(六):Optional

    Java函數(shù)式編程(六):Optional

    這篇文章主要介紹了Java函數(shù)式編程(六):Optional,本文是系列文章的第6篇,其它文章請參閱本文底部的相關(guān)文章,需要的朋友可以參考下 ...

    junjie2672019-12-01
主站蜘蛛池模板: 成人在线免费播放 | 污斗罗大陆 | 欧美精品一区二区三区免费播放 | 地址二地址三2021变更 | anal22日本人视频 | x8x8在线观看免费 | 俄罗斯图书馆无打码久久 | 国产午夜精品不卡视频 | 国产福利视频一区二区微拍视频 | 青青草在观免费 | 亚洲精品视频久久 | hezyo加勒比一区二区三区 | 国产极品精频在线观看 | 欧美一级高清片 | 国产第一页无线好源 | 亚洲国产成人久久综合一 | 久久学生精品国产自在拍 | 美女禁区视频无遮挡免费看 | 久久精品亚洲热综合一本 | 国产一区二区视频在线观看 | 91精品国产91热久久p | 好姑娘在线观看完整版免费 | 91精品免费观看老司机 | 亚洲人成网站在线观看妞妞网 | 国产成人h视频在线播放网站 | 久久99re热在线播放7 | 国产高清在线看 | 精品国产爱久久 | 免费看男女污污完整版 | 国产91区 | 希岛爱理aⅴ在线中文字幕 午夜综合网 | 国产伦精品一区二区三区免费观看 | 日韩精品亚洲专区在线影视 | 动漫a级片 | 铁牛tv 在线观看 | 暖暖在线日本 | 爱色成人网| 四虎成人影院 | 奇米影视奇米色777欧美 | 久久永久免费视频 | 青青草原在线免费 |