java发送http的get、post请求

java

Http请求类

  1 package wzh.Http;

2

3 import java.io.BufferedReader;

4 import java.io.IOException;

5 import java.io.InputStreamReader;

6 import java.io.PrintWriter;

7 import java.net.URL;

8 import java.net.URLConnection;

9 import java.util.List;

10 import java.util.Map;

11

12 public class HttpRequest {

13 /**

14 * 向指定URL发送GET方法的请求

15 *

16 * @param url

17 * 发送请求的URL

18 * @param param

19 * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。

20 * @return URL 所代表远程资源的响应结果

21 */

22 public static String sendGet(String url, String param) {

23 String result = "";

24 BufferedReader in = null;

25 try {

26 String urlNameString = url + "?" + param;

27 URL realUrl = new URL(urlNameString);

28 // 打开和URL之间的连接

29 URLConnection connection = realUrl.openConnection();

30 // 设置通用的请求属性

31 connection.setRequestProperty("accept", "*/*");

32 connection.setRequestProperty("connection", "Keep-Alive");

33 connection.setRequestProperty("user-agent",

34 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");

35 // 建立实际的连接

36 connection.connect();

37 // 获取所有响应头字段

38 Map<String, List<String>> map = connection.getHeaderFields();

39 // 遍历所有的响应头字段

40 for (String key : map.keySet()) {

41 System.out.println(key + "--->" + map.get(key));

42 }

43 // 定义 BufferedReader输入流来读取URL的响应

44 in = new BufferedReader(new InputStreamReader(

45 connection.getInputStream()));

46 String line;

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

48 result += line;

49 }

50 } catch (Exception e) {

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

52 e.printStackTrace();

53 }

54 // 使用finally块来关闭输入流

55 finally {

56 try {

57 if (in != null) {

58 in.close();

59 }

60 } catch (Exception e2) {

61 e2.printStackTrace();

62 }

63 }

64 return result;

65 }

66

67 /**

68 * 向指定 URL 发送POST方法的请求

69 *

70 * @param url

71 * 发送请求的 URL

72 * @param param

73 * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。

74 * @return 所代表远程资源的响应结果

75 */

76 public static String sendPost(String url, String param) {

77 PrintWriter out = null;

78 BufferedReader in = null;

79 String result = "";

80 try {

81 URL realUrl = new URL(url);

82 // 打开和URL之间的连接

83 URLConnection conn = realUrl.openConnection();

84 // 设置通用的请求属性

85 conn.setRequestProperty("accept", "*/*");

86 conn.setRequestProperty("connection", "Keep-Alive");

87 conn.setRequestProperty("user-agent",

88 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");

89 // 发送POST请求必须设置如下两行

90 conn.setDoOutput(true);

91 conn.setDoInput(true);

92 // 获取URLConnection对象对应的输出流

93 out = new PrintWriter(conn.getOutputStream());

94 // 发送请求参数

95 out.print(param);

96 // flush输出流的缓冲

97 out.flush();

98 // 定义BufferedReader输入流来读取URL的响应

99 in = new BufferedReader(

100 new InputStreamReader(conn.getInputStream()));

101 String line;

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

103 result += line;

104 }

105 } catch (Exception e) {

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

107 e.printStackTrace();

108 }

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

110 finally{

111 try{

112 if(out!=null){

113 out.close();

114 }

115 if(in!=null){

116 in.close();

117 }

118 }

119 catch(IOException ex){

120 ex.printStackTrace();

121 }

122 }

123 return result;

124 }

125 }

调用方法:

1 public static void main(String[] args) {

2 //发送 GET 请求

3 String s=HttpRequest.sendGet("http://localhost:6144/Home/RequestString", "key=123&v=456");

4 System.out.println(s);

5

6 //发送 POST 请求

7 String sr=HttpRequest.sendPost("http://localhost:6144/Home/RequestPostString", "key=123&v=456");

8 System.out.println(sr);

9 }

 原文:java发送http的get、post请求 - 上校 - 博客园 http://www.cnblogs.com/zhuawang/archive/2012/12/08/2809380.html

Http请求类

  1 package wzh.Http;

2

3 import java.io.BufferedReader;

4 import java.io.IOException;

5 import java.io.InputStreamReader;

6 import java.io.PrintWriter;

7 import java.net.URL;

8 import java.net.URLConnection;

9 import java.util.List;

10 import java.util.Map;

11

12 public class HttpRequest {

13 /**

14 * 向指定URL发送GET方法的请求

15 *

16 * @param url

17 * 发送请求的URL

18 * @param param

19 * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。

20 * @return URL 所代表远程资源的响应结果

21 */

22 public static String sendGet(String url, String param) {

23 String result = "";

24 BufferedReader in = null;

25 try {

26 String urlNameString = url + "?" + param;

27 URL realUrl = new URL(urlNameString);

28 // 打开和URL之间的连接

29 URLConnection connection = realUrl.openConnection();

30 // 设置通用的请求属性

31 connection.setRequestProperty("accept", "*/*");

32 connection.setRequestProperty("connection", "Keep-Alive");

33 connection.setRequestProperty("user-agent",

34 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");

35 // 建立实际的连接

36 connection.connect();

37 // 获取所有响应头字段

38 Map<String, List<String>> map = connection.getHeaderFields();

39 // 遍历所有的响应头字段

40 for (String key : map.keySet()) {

41 System.out.println(key + "--->" + map.get(key));

42 }

43 // 定义 BufferedReader输入流来读取URL的响应

44 in = new BufferedReader(new InputStreamReader(

45 connection.getInputStream()));

46 String line;

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

48 result += line;

49 }

50 } catch (Exception e) {

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

52 e.printStackTrace();

53 }

54 // 使用finally块来关闭输入流

55 finally {

56 try {

57 if (in != null) {

58 in.close();

59 }

60 } catch (Exception e2) {

61 e2.printStackTrace();

62 }

63 }

64 return result;

65 }

66

67 /**

68 * 向指定 URL 发送POST方法的请求

69 *

70 * @param url

71 * 发送请求的 URL

72 * @param param

73 * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。

74 * @return 所代表远程资源的响应结果

75 */

76 public static String sendPost(String url, String param) {

77 PrintWriter out = null;

78 BufferedReader in = null;

79 String result = "";

80 try {

81 URL realUrl = new URL(url);

82 // 打开和URL之间的连接

83 URLConnection conn = realUrl.openConnection();

84 // 设置通用的请求属性

85 conn.setRequestProperty("accept", "*/*");

86 conn.setRequestProperty("connection", "Keep-Alive");

87 conn.setRequestProperty("user-agent",

88 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");

89 // 发送POST请求必须设置如下两行

90 conn.setDoOutput(true);

91 conn.setDoInput(true);

92 // 获取URLConnection对象对应的输出流

93 out = new PrintWriter(conn.getOutputStream());

94 // 发送请求参数

95 out.print(param);

96 // flush输出流的缓冲

97 out.flush();

98 // 定义BufferedReader输入流来读取URL的响应

99 in = new BufferedReader(

100 new InputStreamReader(conn.getInputStream()));

101 String line;

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

103 result += line;

104 }

105 } catch (Exception e) {

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

107 e.printStackTrace();

108 }

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

110 finally{

111 try{

112 if(out!=null){

113 out.close();

114 }

115 if(in!=null){

116 in.close();

117 }

118 }

119 catch(IOException ex){

120 ex.printStackTrace();

121 }

122 }

123 return result;

124 }

125 }

调用方法:

1 public static void main(String[] args) {

2 //发送 GET 请求

3 String s=HttpRequest.sendGet("http://localhost:6144/Home/RequestString", "key=123&v=456");

4 System.out.println(s);

5

6 //发送 POST 请求

7 String sr=HttpRequest.sendPost("http://localhost:6144/Home/RequestPostString", "key=123&v=456");

8 System.out.println(sr);

9 }

 原文:java发送http的get、post请求 - 上校 - 博客园 http://www.cnblogs.com/zhuawang/archive/2012/12/08/2809380.html

以上是 java发送http的get、post请求 的全部内容, 来源链接: utcz.com/z/392392.html

回到顶部