java发送GET和post请求

  1 package com.baqingshe.bjs.util;
  2
  3 import java.io.BufferedReader;
  4
  5 import java.io.IOException;
  6
  7 import java.io.InputStream;
  8
  9 import java.io.InputStreamReader;
 10
 11 import java.io.PrintWriter;
 12
 13 import java.net.URL;
 14
 15 import java.net.URLConnection;
 16
 17 import java.util.List;
 18
 19 import java.util.Map;
 20
 21 import sun.net.www.protocol.http.HttpURLConnection;
 22
 23 public class HttpRequest {
 24
 25   public static String doGet(String url) throws Exception {
 26
 27        URL localURL = new URL(url);
 28
 29        URLConnection connection = localURL.openConnection();
 30
 31        HttpURLConnection httpURLConnection = (HttpURLConnection)connection;
 32
 33
 34
 35        httpURLConnection.setRequestProperty("Accept-Charset", "utf-8");
 36
 37        httpURLConnection.setRequestProperty("Content-Type", "application/json");
 38
 39
 40
 41        InputStream inputStream = null;
 42
 43        InputStreamReader inputStreamReader = null;
 44
 45        BufferedReader reader = null;
 46
 47        StringBuffer resultBuffer = new StringBuffer();
 48
 49        String tempLine = null;
 50
 51
 52
 53        if (httpURLConnection.getResponseCode() >= 300) {
 54
 55            throw new Exception("HTTP Request is not success, Response code is " + httpURLConnection.getResponseCode());
 56
 57        }
 58
 59
 60
 61        try {
 62
 63            inputStream = httpURLConnection.getInputStream();
 64
 65            inputStreamReader = new InputStreamReader(inputStream);
 66
 67            reader = new BufferedReader(inputStreamReader);
 68
 69
 70
 71            while ((tempLine = reader.readLine()) != null) {
 72
 73                resultBuffer.append(tempLine);
 74
 75            }
 76
 77
 78
 79        } finally {
 80
 81
 82
 83            if (reader != null) {
 84
 85                reader.close();
 86
 87            }
 88
 89
 90
 91            if (inputStreamReader != null) {
 92
 93                inputStreamReader.close();
 94
 95            }
 96
 97
 98
 99            if (inputStream != null) {
100
101                inputStream.close();
102
103            }
104
105
106
107        }
108
109
110
111        return resultBuffer.toString();
112
113    }
114
115
116
117     public static String sendPost(String url, String param) {
118
119         PrintWriter out = null;
120
121         BufferedReader in = null;
122
123         String result = "";
124
125         try {
126
127             URL realUrl = new URL(url);
128
129             // 打开和URL之间的连接
130
131             URLConnection conn = realUrl.openConnection();
132
133             // 设置通用的请求属性
134
135             conn.setRequestProperty("accept", "*/*");
136
137             conn.setRequestProperty("connection", "Keep-Alive");
138
139             conn.setRequestProperty("user-agent",
140
141                     "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
142
143             // 发送POST请求必须设置如下两行
144
145             conn.setDoOutput(true);
146
147             conn.setDoInput(true);
148
149             // 获取URLConnection对象对应的输出流
150
151             out = new PrintWriter(conn.getOutputStream());
152
153             // 发送请求参数
154
155             out.print(param);
156
157             // flush输出流的缓冲
158
159             out.flush();
160
161             // 定义BufferedReader输入流来读取URL的响应
162
163             in = new BufferedReader(
164
165                     new InputStreamReader(conn.getInputStream()));
166
167             String line;
168
169             while ((line = in.readLine()) != null) {
170
171                 result += line;
172
173             }
174
175         } catch (Exception e) {
176
177             System.out.println("发送 POST 请求出现异常!"+e);
178
179             e.printStackTrace();
180
181         }
182
183         //使用finally块来关闭输出流、输入流
184
185         finally{
186
187             try{
188
189                 if(out!=null){
190
191                     out.close();
192
193                 }
194
195                 if(in!=null){
196
197                     in.close();
198
199                 }
200
201             }
202
203             catch(IOException ex){
204
205                 ex.printStackTrace();
206
207             }
208
209         }
210
211         return result;
212
213     }
214
215 }
时间: 2024-11-06 09:11:29

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

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

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 { /** *

Java 发送Get和Post请求

1 package com.htpt.superviseServices.dm.util; 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.uti

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

由于项目中要用,所以找了一些资料,整理下来. GitHub地址: https://github.com/iamyong    转自:http://blog.csdn.net/capmiachael/article/details/51833531 例1:使用 HttpClient (commons-httpclient-3.0.jar 1 import java.io.ByteArrayInputStream; 2 import java.io.ByteArrayOutputStream; 3

Android或者Java发送Http自动重发请求的解决方案

今天遇到奇葩问题,描述如下: 客户端向服务端发起了一次(从日志中可以看出仅仅打印了一次日志),但是确在后端出现了重复的几次请求数据在后端.这个问题很不容易出现,而且用中文搜索不到相应的结果: 今天在国外的网站中找到了问题的解决方案: 原因如下:由于设置了链接与获取数据的超时时间,客户端在发送数据之后,检测到可能并没有发送成功到后端,这个时候http底层会自动重发请求(注意是Http底层,所以应用端不会知道发送了多次请求).如果应用端自动重发了多次请求,后端也回复了多次请求,但是前段仅仅会只回复1

JAVA发送GET、POST请求

注意:本文使用 httpcomponents-client-4.4 版,和以前的 3.X 版本有较大区别. 一.创建一个servlet来接收get或post请求 package guwen; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpS

java发送http的get、post请求

文章转载于:http://www.cnblogs.com/zhuawang/archive/2012/12/08/2809380.html Http请求类 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.

java 发送http 的get|post 请求

<div> 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

Java发送Http请求

package com.liuyu.test; 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 c

java给微信发送get和post请求

现在做微信订阅号.微信公众号,微信企业号都需要开发者给微信服务器发送get或post请求.具体发送get或post请求源码如下: package com.ciji.utils; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; import java.net.URL